exe文件远程执行
Exe file remote Execution
我正在尝试编写一个脚本来远程修补 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 服务器上不正常。我不知道这背后的原因是什么。
以下内容满足了我的要求:
psexec \$computer -s -u Adminuser -p AdminPassword E:\SQL_PATCH\SQLServer2012SP2-KB2958429-x64-ENU.exe /quiet /action=patch /allinstances /IAcceptSQLServerLicenseTerms
无论 Windows 版本如何,这篇文章都适用于所有服务器。
感谢大家的宝贵建议。
我正在尝试编写一个脚本来远程修补 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 服务器上不正常。我不知道这背后的原因是什么。
以下内容满足了我的要求:
psexec \$computer -s -u Adminuser -p AdminPassword E:\SQL_PATCH\SQLServer2012SP2-KB2958429-x64-ENU.exe /quiet /action=patch /allinstances /IAcceptSQLServerLicenseTerms
无论 Windows 版本如何,这篇文章都适用于所有服务器。 感谢大家的宝贵建议。