我想在一堆服务器上安装 TortoiseSVN 客户端,使用 Powershell 远程处理。基本操作有效,但以下命令无法远程处理
Invoke-Command -ComputerName myserver -ScriptBlock {Start-Process "msiexec.exe" -ArgumentList "/i \\fileserver\install\subversionclients\TortoiseSVN-1.14.0.28885-x64-svn-1.14.0.msi /passive /norestart /qn ADDLOCAL=ALL" -Wait}
另一方面,登录到服务器并发出以下命令
Start-Process "msiexec.exe" -ArgumentList "/i \\fileserver\install\subversionclients\TortoiseSVN-1.14.0.28885-x64-svn-1.14.0.msi /passive /norestart /qn ADDLOCAL=ALL" -Wait`
...这样可行。我无法弄清楚原因 - 没有显示错误,也没有返回值。据我了解 Invoke-command 默认情况下它是提升的。尝试添加-Verb RunAs
也无济于事。我也有-wait
-argument (参考https://serverfault.com/a/550169/180067),但这对我来说也没有帮助。
这是因为您正在使用 Kerberos 身份验证,并且您尝试执行“双跳”,而这在默认情况下使用 Kerberos 是不可能的(基本上,您可以向“myserver”进行身份验证,但您不能再次“跳”到“文件服务器”)。
你可以做什么:
-Authentication CredSSP
和-Credential "yourUserName"
,然后按照错误消息中显示的说明进行操作。此处提供了其他详细信息、注意事项和不同的解决方案: 在 PowerShell Remoting 中进行第二个跃点
在这里配置 CredSSP: Enable PowerShell "Second-Hop" Functionality with CredSSP