我可以告诉Powershell远程会话从服务器a到b以及从b到c

时间:2015-12-21 17:16:02

标签: powershell powershell-v4.0

我们有一台TeamCity机器。 我们有网络共享。 我们有"客户"服务器A. 我们有"目标"服务器B.

TeamCity机器需要从网络共享中获取已存在的.zip文件,然后将其移至服务器A,再次将其转发到服务器B.

没有从teamcity机器到服务器B的直接访问。服务器A始终是我必须采取的网关/网桥。

使用PowerShell完成任务的最佳方法是什么?

我已经在服务器A上使用powershell filewatcher创建了一个工作版本,观看文件转储并将这些文件移动到服务器B.

我想要一种技术更复杂的解决方案。

1 个答案:

答案 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 }