exe文件远程执行

时间:2015-06-02 22:17:02

标签: powershell windows-server-2008-r2

我正在尝试编写一个远程修补SQL实例的脚本。参考这个论坛,我已经构建了以下一行,用于在其他服务器上远程执行.exe:

Invoke-Command -ComputerName $computer -ScriptBlock {
  & cmd /c 'D:\SQL_PATCH\SQLServer2012SP2-KB2958429-x64-ENU.exe'  /qs /action=patch /allinstances /IAcceptSQLServerLicenseTerms
}

也试过这个:

Invoke-Command -ComputerName $computer -ScriptBlock {
  & 'D:\SQL_PATCH\SQLServer2012SP2-KB2958429-x64-ENU.exe' -ArgumentList "/qs", "/action=patch", "/allinstances", "/IAcceptSQLServerLicenseTerms"
}

另一个特殊之处是,第一个命令在Windows 2012服务器上正常运行,但在Windows 2008R2服务器上运行不正常。我不知道这背后的原因是什么。

1 个答案:

答案 0 :(得分:1)

以下是我所寻找的技巧:

psexec \\$computer -s -u Adminuser -p AdminPassword E:\SQL_PATCH\SQLServer2012SP2-KB2958429-x64-ENU.exe /quiet /action=patch /allinstances /IAcceptSQLServerLicenseTerms

这篇文章适用于所有服务器,与Windows版本无关。 谢谢大家的宝贵建议。