Powershell Master

作者 josiahsiegel5a1b1123b9e5无许可证58 个星标收录于 2026年10月8日更新于 2026年10月8日仓库3个月前更新

Complete PowerShell expertise system across ALL platforms (Windows/Linux/macOS). PROACTIVELY activate for: (1) ANY PowerShell task (scripts/modules/cmdlets), (2) CI/CD automation (GitHub Actions/Azure DevOps/Bitbucket), (3) Cross-platform scripting, (4) Module discovery and management (PSGallery), (5) Azure/AWS/Microsoft 365 automation, (6) Script debugging and optimization, (7) Best practices and security. Provides: PowerShell 7+ features, popular module expertise (Az, Microsoft.Graph, PnP, AWS Tools), PSGallery integration, platform-specific guidance, CI/CD pipeline patterns, cmdlet syntax mastery, and production-ready scripting patterns. Ensures professional-grade, cross-platform PowerShell automation following industry standards.

AI 生成的概览

指导 PowerShell 7+ 脚本、模块、跨平台模式、CI/CD 流水线与安全加固。

功能
该技能为在 Windows、Linux 和 macOS 上编写与审查 PowerShell 脚本、模块和 cmdlet 提供参考指导。内容涵盖版本与平台差异、模块查找与安装、CI/CD 流水线模式、语法与 cmdlet 用法、Pester 测试、性能调优,以及 JEA、代码签名等生产安全主题。它产出的是建议、检查清单和脚本模式,而不是生成的文件。
适用场景
适用于编写、审查、调试或优化 PowerShell 脚本与模块,包括跨平台脚本以及使用 Az、Microsoft.Graph、PnP 或 AWS Tools 的云自动化。也适合在 GitHub Actions、Azure DevOps 或 Bitbucket 流水线中配置 PowerShell 步骤,并为生产环境加固脚本。
运行要求
不附带脚本,仅为说明文档与参考文档。按其操作需要 PowerShell 7+ 运行时来执行所述命令,以及 Invoke-ScriptAnalyzer、Invoke-Pester 等工具,并需要网络访问以从 PSGallery 安装模块和云模块。

PowerShell Master

CRITICAL GUIDELINES

Windows File Path Requirements

MANDATORY: Always Use Backslashes on Windows for File Paths

When using Edit or Write tools on Windows, you MUST use backslashes (\) in file paths, NOT forward slashes (/).

Examples:

  • WRONG: D:/repos/project/file.tsx
  • CORRECT: D:\repos\project\file.tsx

This applies to:

  • Edit tool file_path parameter
  • Write tool file_path parameter
  • All file operations on Windows systems

Documentation Guidelines

NEVER create new documentation files unless explicitly requested by the user.

  • Priority: Update existing README.md files rather than creating new documentation
  • Repository cleanliness: Keep repository root clean - only README.md unless user requests otherwise
  • Style: Documentation should be concise, direct, and professional - avoid AI-generated tone
  • User preference: Only create additional .md files when user specifically asks for documentation

Complete PowerShell expertise across all platforms for scripting, automation, CI/CD, and cloud management.


When to Activate

PROACTIVELY activate for ANY PowerShell-related task:

  • PowerShell Scripts - Creating, reviewing, optimizing any .ps1 file
  • Cmdlets & Modules - Finding, installing, using any PowerShell modules
  • Cross-Platform - Windows, Linux, macOS PowerShell tasks
  • CI/CD Integration - GitHub Actions, Azure DevOps, Bitbucket Pipelines
  • Cloud Automation - Azure (Az), AWS, Microsoft 365 (Microsoft.Graph)
  • Module Management - PSGallery search, installation, updates
  • Script Debugging - Troubleshooting, performance, security
  • Best Practices - Code quality, standards, production-ready scripts

Reference Map

Detailed material lives in references/. Load only what the current task needs.

TopicFileWhen to load
Cross-platform patterns (paths, platform detection, encoding, shell detection)references/cross-platform-patterns.mdWriting scripts that run on Windows + Linux/macOS, or distinguishing PowerShell vs Git Bash
Module management (PSResourceGet, PSGallery, popular modules)references/modules-and-gallery.mdInstalling/finding modules, Az 14.5.0, Microsoft.Graph 2.32.0, PnP, AWS Tools, offline installs
CI/CD pipelines (GitHub Actions, Azure DevOps, Bitbucket)references/cicd-integration.mdSetting up automated PowerShell builds/tests with multi-platform matrices
Syntax & cmdlet reference (variables, operators, flow, functions, pipeline, error handling, Pester, performance, REST)references/syntax-reference.mdAuthoring scripts, looking up cmdlets, writing Pester tests, performance tuning
Security (JEA, WDAC, Constrained Language Mode, Script Block Logging, credentials, code signing)references/security-2025.mdProduction security hardening, credential management, audit logging

PowerShell Overview

PowerShell Versions & Platforms

PowerShell 7+ (Recommended)

  • Cross-platform: Windows, Linux, macOS
  • Open source, actively developed
  • Better performance than PowerShell 5.1
  • UTF-8 by default
  • Parallel execution support
  • Ternary operators, null-coalescing

Windows PowerShell 5.1 (Legacy)

  • Windows-only
  • Ships with Windows
  • UTF-16LE default encoding
  • Required for some Windows-specific modules

Installation Locations:

  • Windows: C:\Program Files\PowerShell\7\ (PS7) or C:\Windows\System32\WindowsPowerShell\v1.0\ (5.1)
  • Linux: /opt/microsoft/powershell/7/ or /usr/bin/pwsh
  • macOS: /usr/local/microsoft/powershell/7/ or /usr/local/bin/pwsh

Core Workflow

  1. Identify scope — Is this a script, module, automation pipeline, or one-off command? Note target platform(s).
  2. Check version & modules — $PSVersionTable.PSVersion, Get-Module -ListAvailable. Confirm PowerShell 7+ unless legacy required.
  3. Load the relevant reference(s) from the Reference Map above. Avoid loading material you do not need.
  4. Apply the pre-flight checklist (below) before authoring or running production scripts.
  5. Validate — Invoke-ScriptAnalyzer for linting, Invoke-Pester for tests, -WhatIf for destructive cmdlets.

Pre-Flight Checklist for Scripts

Before running any PowerShell script, ensure:

  1. Platform Detection - Use $IsWindows, $IsLinux, $IsMacOS (see references/cross-platform-patterns.md)
  2. Version Check - #Requires -Version 7.0 if needed
  3. Module Requirements - #Requires -Modules specified
  4. Error Handling - try/catch blocks in place
  5. Input Validation - Parameter validation attributes used (see references/syntax-reference.md)
  6. No Aliases - Full cmdlet names in scripts
  7. Path Handling - Use Join-Path or [IO.Path]::Combine()
  8. Encoding Specified - UTF-8 for cross-platform
  9. Credentials Secure - Never hardcoded (see references/security-2025.md)
  10. Verbose Logging - Write-Verbose for debugging

Quick Decision Guide

Use PowerShell 7+ when:

  • Cross-platform compatibility needed
  • New projects or scripts
  • Performance is important
  • Modern language features desired

Use Windows PowerShell 5.1 when:

  • Windows-specific modules required (WSUS, GroupPolicy legacy)
  • Corporate environments with strict version requirements
  • Legacy script compatibility needed

Choose Azure CLI when:

  • Simple one-liners needed
  • JSON output preferred
  • Bash scripting integration

Choose PowerShell Az module when:

  • Complex automation required
  • Object manipulation needed
  • PowerShell scripting expertise available
  • Reusable scripts and modules needed

Minimal Script Skeleton

powershell
#Requires -Version 7.0
<#.SYNOPSIS    Brief description.DESCRIPTION    Detailed description.PARAMETER Name    Parameter description.EXAMPLE    PS> .\script.ps1 -Name "John"#>
[CmdletBinding()]param(    [Parameter(Mandatory=$true)]    [ValidateNotNullOrEmpty()]    [string]$Name)
$ErrorActionPreference = "Stop"Set-StrictMode -Version Latest
try {    Write-Verbose "Starting script"    # ... main logic ...    Write-Verbose "Script completed successfully"}catch {    Write-Error "Script failed: $_"    exit 1}finally {    # Cleanup}

Expand this skeleton using patterns from references/syntax-reference.md (advanced functions, pipeline, error handling) and references/security-2025.md (input validation, credential handling).


Additional Resources

For shell detection on Windows (PowerShell vs Git Bash), see the powershell-shell-detection skill.


Remember: ALWAYS research latest PowerShell documentation and module versions before implementing solutions. The PowerShell ecosystem evolves rapidly, and best practices are updated frequently.

来源与署名

来源:josiahsiegel/claude-plugin-marketplace位于plugins/powershell-master/skills/powershell-master提交5a1b112

许可证: 无许可证

内容归原作者所有。SourceWeft 从公开仓库中收录这些内容。

举报或申请下架