我一直在努力自动化我的SQL补丁。我发现我可以从中央服务器运行以下命令,它将在远程计算机上执行升级。我的问题是我一次只能运行一个命令,直到命令返回响应。我试图找出如何一次对100台不同的计算机运行此命令,并且所有升级可以一次并行执行,而不是逐一执行。
Invoke-Command -computername SQLServer1 -command {D:\DBA\SQLPatching\SQL_2014\SP1\Patch-SQL2014_SP1.bat}
我只是将-computername参数替换为要修补的服务器列表。
有人有任何建议吗?
答案 0 :(得分:0)
Invoke-Command -ComputerName $computers -ScriptBlock {D:\DBA\SQLPatching\SQL_2014\SP1\Patch-SQL2014_SP1.bat }
假定bat文件在所有计算机上都位于D中。如果您有要传递给if的机器列表,那么使用invoke-command将并行运行。
如果您改为在$ computers中使用一台ForEach $ computer,则它将一次运行一台。