我试图将2个参数传递给PS脚本,该脚本将修补远程计算机上的SQL Server。这是我使用的代码:
$Patcher = "\\remoteShareLocation\SQLpatcher.ps1"
$ver = "SQL2012"
$inst = "NEWINST"
Invoke-Command -ComputerName RMTMACHINE -credential dmn\usrname -ScriptBlock {$Patcher $ver $inst}
这会要求提供凭据,但不会运行,也不会显示任何输出。语法有什么问题吗?还有其他替代cmdlet吗?
最佳答案
如果您使用的是Powershell V3或更高版本,则可以使用using
前缀将本地变量“传输”到远程主机:
Invoke-Command -ComputerName RMTMACHINE -credential $cred -ScriptBlock {$using:Patcher $using:ver $using:inst}
对于较旧的版本,请查看invoke-command的
-argumentlist
参数