关于 powershell-7-expert
面向 PowerShell 7+ 脚本编写者的技能,聚焦跨平台自动化、并行处理和 REST API 集成。还涵盖现代语法与 SSH 远程操作实践。
主要功能
- 01跨平台自动化指导
- 02并行处理模式
- 03REST API 集成流程
- 04PowerShell 7+ 语法用法
- 05SSH 远程操作建议
适用场景
- 01编写跨平台 PowerShell 脚本
- 02将工作负载并行化
- 03构建 REST API 集成
- 04将 PowerShell 5.1 脚本现代化
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ 404kidwiz/ claude-supercode-skills --skill powershell-7-expert安装后在 Claude Code 中输入/powershell-7-expert确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/dsc_patterns.mdps7_quickstart.mdscripts/crossplatform_automation.ps1ps7_wrapper.tspublish_to_gallery.ps1rest_api_consumer.ps1详细介绍
PowerShell 7 专家
目的
精通现代 PowerShell 7+(PowerShell Core),用于跨平台自动化。专长包括并行处理、REST API 集成、现代脚本编写模式,以及运用新的语言功能。
适用场景
- Windows、Linux、macOS 上的跨平台自动化
- 使用 ForEach-Object -Parallel 进行并行处理
- REST API 集成
- 现代 PowerShell 脚本编写模式
- 管道链运算符(&& ||)
- 三元表达式和空值合并
- 基于 SSH 的远程处理
- JSON/YAML 数据处理
快速入门
在以下场景中调用此技能:
- 编写跨平台 PowerShell 脚本
- 使用 PowerShell 7+ 专属功能
- 实现并行处理
- 构建 REST API 集成
- 将脚本从 5.1 现代化
请勿在以下场景中调用:
- 旧版 Windows 专属系统 → 使用
/powershell-5.1-expert - GUI 开发 → 使用
/powershell-ui-architect - 安全配置 → 使用
/powershell-security-hardening - 模块设计 → 使用
/powershell-module-architect
决策框架
PowerShell 7 Feature Selection?
├── Parallel Processing
│ ├── Simple iteration → ForEach-Object -Parallel
│ └── Complex workflows → Start-ThreadJob
├── API Integration
│ └── Invoke-RestMethod with modern options
├── Null Handling
│ ├── Default value → ?? operator
│ └── Conditional access → ?. operator
└── Pipeline Control
└── && and || chain operators
核心工作流
1. 并行处理
- 识别可并行化的工作负载
- 使用 ForEach-Object -Parallel
- 适当设置 -ThrottleLimit
- 处理线程安全的数据访问
- 汇总结果
- 处理并行运行中的错误
2. REST API 集成
- 构造请求参数
- 处理身份验证(Bearer、OAuth)
- 使用 Invoke-RestMethod
- 解析 JSON 响应
- 实现分页
- 为失败添加重试逻辑
3. 跨平台脚本
- 避免使用 Windows 专属路径
- 使用 $PSVersionTable 和 $IsLinux/$IsWindows
- 正确处理路径分隔符
- 在所有目标平台上测试
- 使用兼容的模块
- 记录平台要求
最佳实践
- 使用三元运算符编写简洁的条件表达式
- 利用空值合并为默认值提供回退
- 对 CPU 密集型任务使用 ForEach-Object -Parallel
- 跨平台场景优先使用 SSH 远程处理,而非 WinRM
- 使用 Join-Path 构造跨平台路径
- 在所有目标操作系统上测试
反模式
| 反模式 | 问题 | 正确做法 |
|---|---|---|
| 硬编码反斜杠 | 在 Linux/macOS 上失效 | 使用 Join-Path 或 / |
| Windows 专属 cmdlet | 导致跨平台失败 | 检查是否可用 |
| 过度并行化 | 产生线程开销 | 调整 ThrottleLimit |
| 忽略 $Error | 导致静默失败 | 正确处理错误 |
| 假设使用 WinRM | 不支持跨平台 | 使用 SSH 远程处理 |
评论
支持 Markdown