你好,
我们拥有数百台虚拟机的大型环境.在我们的服务部署期间,我们需要将一些文件从build drop复制到所有这些机器.
所以,我们有:
>用户计算机,其中部署脚本正在执行
>构建丢弃机器,文件所在的位置
>目标机器
Powershell用作脚本语言.就像是:
$buildDrop = "\\sourceMachine\Build" $machineTarget = "targetMachine" Invoke-Command -ComputerName $machineTarget -ArgumentList $buildDrop -ScriptBlock { Param( $buildDrop ) Test-Path $buildDrop # Will return False }
这种方法导致double hop issue,由于在XP和2k3机器上不支持CredSSP功能,我无法解决这个问题.在用户计算机上调用的副本会导致性能瓶颈(数据通过用户计算机传输).
是否有任何方法可以使所有目标机器始终显示构建丢弃?
可能以某种方式将它们添加到受信任的位置或类似的东西?
提前致谢!
我找到了适用于我们环境的解决方案.
没有Cred-SSP,无法通过双跃点传输凭据,但您可以在没有第一跳的情况下在目标计算机上运行某些内容.
最简单的方法是使用带有-s标志的psexec(在系统帐户中运行远程进程),最终字符串是这样的:
psexec \\someHost -s robocopy "\\stagingHost\Staging" "\\someHost\C$\Staging" /MIR
你也可以用同样的方式启动一些PS脚本,只需确保远程机器上的script execution is allowed:
psexec \\someHost -s "\\stagingHost\Staging\Script.ps1" SomeArg1 SomeArg2