| 用途 | 批量/单机远程执行命令与脚本 |
|---|---|
| 语法 | Invoke-Command -ComputerName a,b -ScriptBlock {...} [-ThrottleLimit N] |
| 结果 | 输出对象带 PSComputerName 列,可 Group/导出 |
常用示例
常用示例
$hosts = 'app01','app02','app03'
Invoke-Command -ComputerName $hosts -ScriptBlock { Get-Service -Name W3SVC | Select-Object Status, StartType } | Select-Object PSComputerName, Status, StartType
Invoke-Command -ComputerName $hosts -FilePath .\deploy.ps1 -ArgumentList 'v1.2'
# 错误收集
Invoke-Command -ComputerName $hosts -ScriptBlock { throw 'test' } -ErrorVariable errs -ErrorAction SilentlyContinue
$errs.Count并发默认 32:大集群用 -ThrottleLimit 与 -Session 复用控制负载。