PowerShell 7 Expert 提供现代 PowerShell 7+(PowerShell Core)跨平台自动化方面的专业知识,重点覆盖并行处理、REST API 集成、现代脚本模式以及新语言特性的运用。
用途 该技能用于在 Windows、Linux 和 macOS 上实现跨平台自动化,帮助编写和现代化 PowerShell 脚本,并利用 PowerShell 7+ 引入的语言与运行时能力。
主要能力
- 并行处理:使用 ForEach-Object -Parallel 进行简单迭代,使用 Start-ThreadJob 处理复杂工作流,并可设置 -ThrottleLimit 控制并发度。
- REST API 集成:使用 Invoke-RestMethod 构建请求、处理认证(Bearer、OAuth)、解析 JSON 响应、实现分页以及为失败添加重试逻辑。
- 现代脚本模式:管道链操作符(&&、||)、三元表达式、空合并运算符(??)、条件访问运算符(?.)。
- 跨平台脚本:避免 Windows 专有路径,使用 $PSVersionTable 和 $IsLinux/$IsWindows 判断平台,正确处理路径分隔符,使用 Join-Path 构建跨平台路径。
- 远程管理:优先使用基于 SSH 的远程管理而非 WinRM,以适配跨平台环境。
- 数据处理:JSON/YAML 数据操作。
使用方式 在以下情况调用该技能:编写跨平台 PowerShell 脚本、使用 PowerShell 7+ 特有功能、实现并行处理、构建 REST API 集成、将 5.1 脚本现代化。 不应在以下情况调用:旧版仅限 Windows 的系统(应使用 /powershell-5.1-expert)、GUI 开发(应使用 /powershell-ui-architect)、安全配置(应使用 /powershell-security-hardening)、模块设计(应使用 /powershell-module-architect)。
核心工作流
- 并行处理:识别可并行化的工作负载,使用 ForEach-Object -Parallel,适当设置 -ThrottleLimit,处理线程安全的数据访问,聚合结果,并处理并行运行中的错误。
- REST API 集成:构造请求参数,处理认证(Bearer、OAuth),使用 Invoke-RestMethod,解析 JSON 响应,实现分页,并为失败添加重试逻辑。
- 跨平台脚本:避免 Windows 专有路径,使用 $PSVersionTable 和 $IsLinux/$IsWindows,正确处理路径分隔符,在所有目标平台测试,使用兼容模块,并记录平台要求。
最佳实践
- 使用三元运算符编写简洁的条件判断。
- 利用空合并运算符设置默认值。
- 对 CPU 密集型任务使用 ForEach-Object -Parallel。
- 跨平台场景优先使用 SSH 远程管理而非 WinRM。
- 使用 Join-Path 构建跨平台路径。
- 在所有目标操作系统上测试。
反模式
- 硬编码反斜杠:在 Linux/macOS 上会出错,应使用 Join-Path 或 /。
- 仅限 Windows 的 cmdlet:会导致跨平台失败,应检查可用性。
- 过度并行化:带来线程开销,应调整 ThrottleLimit。
- 忽略 $Error:导致静默失败,应进行正确的错误处理。
- 假定使用 WinRM:不具备跨平台性,应使用 SSH 远程管理。
适用场景与限制 适用于跨平台自动化、并行处理、REST API 集成、现代 PowerShell 脚本编写以及从 5.1 迁移现代化。不适用于旧版仅限 Windows 系统、GUI 开发、安全配置和模块设计。关于该技能的收费、价格、平台支持细节或具体效果,资料中暂未提供。