powershell - 在多个服务器上并行运行 powershell 脚本
问题描述
可能是一个重复的问题,但由于我仍在学习,因此需要一些中肯的答案。我想在所有远程服务器上同时运行 PowerShell 脚本来安装应用程序。我尝试了以下 cmdlet,但它一个接一个地执行,并且还想知道状态或作业输出文件。任何帮助深表感谢。谢谢
$servers = Get-Content "C:\Dumps\Scripts\servers.txt"
foreach ($server in $servers) {
Invoke-Command -ComputerName $server -Filepath C:\Dumps\Scripts\CompleteSilent.ps1
}
解决方案
只需$Servers
用作-ComputerName
参数。Invoke-Command
将并行运行它们。
您可以使用参数调整并行度上的 Throttle -Throttle
。
Invoke-Command -ComputerName $Servers -Filepath C:\Dumps\Scripts\CompleteSilent.ps1
注意:如果有返回对象和/或屏幕回声,它们可能返回无序。可以处理,但如果这是安装,您可能不会遇到该特定问题。
推荐阅读
- c# - c# HttpWebRequest 获取响应字符串
- angular - 调用验证器并从 focusout 上的自定义指令返回有效/无效为真/假:Angular 5
- python - 我想从用户那里导入值,用于这个 t 测试
- google-translate - Google Cloud Translation API:语言检测算法
- docker - 保险丝 7:执行命令时出错:零:创建 docker 映像时
- reactjs - 未定义不是函数 SwitchNavigator 错误
- c++ - 如何让 jsoncpp 编码 unicode 字符串?
- android - 制作多个点以检测实时相机的颜色
- python - 执行 TAB 操作,直到活动元素是所需元素 - Python
- python - 使用 Python 和 R 语言进行矩阵乘法的不同结果