Powershell 复制脚本块中的文件可以';我找不到路

Powershell 复制脚本块中的文件可以';我找不到路,powershell,powershell-2.0,powershell-3.0,powershell-4.0,powershell-remoting,Powershell,Powershell 2.0,Powershell 3.0,Powershell 4.0,Powershell Remoting,我已经实现了一个PS脚本,它可以同时在多台服务器上部署代码。这里我需要将一些源文件从一台服务器复制到另一台服务器。请参阅下面的代码: for($i=1;$i-le 5;$i++){ $serverName=“iwflO”+$i $sourceFile=“\\iwdflO1\C$\Deploy\bin” $destination=“\\$serverName\C$\程序文件(X86)\Shian\MyService\bin” $Myblock={ 参数{$sourceFile,$destinati

我已经实现了一个PS脚本,它可以同时在多台服务器上部署代码。这里我需要将一些源文件从一台服务器复制到另一台服务器。请参阅下面的代码:

for($i=1;$i-le 5;$i++){
$serverName=“iwflO”+$i
$sourceFile=“\\iwdflO1\C$\Deploy\bin”
$destination=“\\$serverName\C$\程序文件(X86)\Shian\MyService\bin”
$Myblock={
参数{$sourceFile,$destination)
复制项-Force-Recurse$sourceFile-Destination$Destination
}
$result=Invoke命令-ComputerName$ServerName-Credential“shian”-ScriptBlock$Myblock-ArgumentList$sourceFile,$destination;
$result;
}
cd c:\
iwflO1是我运行脚本的根服务器,但对于其他服务器,它会给我一个错误,比如

找不到路径“\iwdflO1\C$\Deploy\bin”,因为它不存在


但是,如果我登录到iwflO2或任何其他服务器,并手动点击路径,其工作正常。

我可以看出错误在于该块:

与此相反:

$Myblock={param{$sourceFile,$destination)

copy-Item -Force -Recurse $sourceFile -Destination $destination
}
这样做:

$Myblock={param($sourceFile,$destination)

copy-Item -Force -Recurse $sourceFile -Destination $destination
}
如果我对服务器名称进行硬编码(在我的本地服务器中进行测试),那么这可以正常工作

由于您使用的是管理共享,请直接尝试以下操作:

Copy-Item -Path \\serverA\c$\programs\temp\test.txt -Destination \\serverB\c$\programs\temp\test.txt;
注意:您必须指定文件。否则您将在源文件夹中获得childitem-recurse,并将其直接放入目标文件夹中


希望能有帮助。

这看起来像是双跳问题。这里有一个解决办法。看看这是否相似,为什么会出现双跳问题Ben?@RanadipDutta localhost->
Invoke Command
->first hop->UNC path->second hop我真的不认为这在逻辑上是双跳问题。理论是的。双跳通常意味着从远程计算机跳转到另一台计算机(主要是使用Invoke和pssession)。这里是直接的管理共享。无论如何,我支持你@AnsgarWiechers.:)谢谢你的回复!!是的,我已经完成了,但仍然面临着同样的问题。还有一件事。
“\\iwdflO1\C$\Deploy\bin”
放一个反斜杠。您指的位置在bin下面,所以
“\\iwdflO1\C$\Deploy\bin”
这应该可以解决您的问题。PS无法选择源路径这似乎是一件合乎逻辑的事情。如果您使用的是管理共享,那么为什么要使用invoke?您可以直接使用copy item right???。@ShianJA:在答案中做了更改。请检查一次并尝试实现。您没有提供文件名,因此看起来很像我对于一个特定的文件,结果似乎是无效的路径。@ShianJA请查看BenH在对您的问题的评论中提供的链接。鉴于这些症状,这实际上肯定是一个二次跳跃问题。