通过Powershell中的Invoke命令从网络共享运行Setup.exe
PSEXEC开始给我带来一些麻烦,我决定在PowerShell中重新编码 在PSEXEC开始搞砸之前,这个批处理命令曾经对我有用:通过Powershell中的Invoke命令从网络共享运行Setup.exe,powershell,installation,psexec,invoke-command,Powershell,Installation,Psexec,Invoke Command,PSEXEC开始给我带来一些麻烦,我决定在PowerShell中重新编码 在PSEXEC开始搞砸之前,这个批处理命令曾经对我有用: psexec-accepteula\\-u-p cmd/c“\\\SystemEnv\Bin\Setup.exe/silent/Update” 我正试图在Powershell中使用Invoke命令来实现这一点,但到目前为止运气不佳 我尝试了很多组合,谷歌搜索了很多,总的来说,PowerShell似乎不喜欢我尝试安装的UNC路径 以下是我得到的: Invoke命令-
psexec-accepteula\\-u-p cmd/c“\\\SystemEnv\Bin\Setup.exe/silent/Update”
我正试图在Powershell中使用Invoke命令来实现这一点,但到目前为止运气不佳
我尝试了很多组合,谷歌搜索了很多,总的来说,PowerShell似乎不喜欢我尝试安装的UNC路径
以下是我得到的:
Invoke命令-ComputerName-ScriptBlock{Start Process-FilePath“\\\SystemEnv\Bin\Setup.exe”-ArgumentList”/update/silent”-wait}
我收到以下错误消息:
由于以下错误,无法运行此命令:访问被拒绝。+类别信息:InvalidOperation:(:)[启动流程],InvalidOperationException
+FullyQualifiedErrorId:InvalidOperationException,Microsoft.PowerShell.Commands.StartProcessCommand
+电脑名称:DE5441 有人说setup.exe已在远程服务器上本地复制。但这似乎不是我的选择,主要有两个原因
Invoke-Command -ComputerName <ServerToBeUpdated> -ScriptBlock { Hostname }
Invoke命令-ComputerName-ScriptBlock{Hostname}
您遇到了所谓的双跳身份验证问题。如果使用普通身份验证,您将无法从正在调用命令的计算机向第二台计算机进行身份验证
要解决这个问题,可以使用CredSSP
要在被调用的计算机上启用CredSSP,请执行以下操作:
Enable-WSManCredSSP -Role Server -force
要在客户端上启用CredSSP,请执行以下操作:
Enable-WSManCredSSP -Role Client -DelegateComputer server.domain.com -force
-delegateComputer
参数需要FQDN,但也需要通配符
启用CredSSP后,您可以使用它调用带有参数
-authentication CredSSP
的命令,这样您可能会遇到双跳身份验证问题。你可以用CredSSP来解决这个问题。这个链接应该有帮助,谢谢,这解决了我的问题。一个问题是,一个框可以同时设置为服务器和客户端角色,还是必须是其中一个?我稍后会添加它作为答案。关于一台计算机上的两个角色:我不知道,我想你必须尝试一下:)