我们有一台TeamCity机器。 我们有网络共享。 我们有"客户"服务器A. 我们有"目标"服务器B.
TeamCity机器需要从网络共享中获取已存在的.zip文件,然后将其移至服务器A,再次将其转发到服务器B.
没有从teamcity机器到服务器B的直接访问。服务器A始终是我必须采取的网关/网桥。
使用PowerShell完成任务的最佳方法是什么?
我已经在服务器A上使用powershell filewatcher创建了一个工作版本,观看文件转储并将这些文件移动到服务器B.
我想要一种技术更复杂的解决方案。
答案 0 :(得分:0)
我不确定你的意思是“我想要一个技术更复杂的解决方案。”但根据您的描述,以下脚本将执行您所需的操作:
$NetworkSourcePath = "\\Network\Path\To\Source.zip"
$ServerA_Destination = "\\ServerA\C$\Path\To\ServerA_Destination.zip"
$ServerB_Destination = "\\ServerB\C$\Path\To\ServerB_Destination.zip"
Copy-Item $NetworkSourcePath $ServerA_Destination
Invoke-Command -ComputerName A -ArgumentList $ServerA_Destination,$ServerB_Destination -ScriptBlock { Copy-Item $ServerA_Destination $ServerB_Destination }