我已經實現了一個PS腳本,可以同時在多個服務器上部署代碼。在這裏,我需要將某個源文件從一臺服務器複製到另一臺。請參見下面的代碼:scriptblock中的複製文件找不到路徑
for ($i=1; $i -le 5; $i++) {
$serverName="iwflO" + $i
$sourceFile="\\iwdflO1\C$\Deploy\bin"
$destination="\\$serverName\C$\Program Files (X86)\Shian\MyService\bin\"
$Myblock = {
Param{$sourceFile,$destination)
Copy-Item -Force -Recurse $sourceFile -Destination $destination
}
$result = Invoke-Command -ComputerName $ServerName -Credential "shian" -ScriptBlock $Myblock -ArgumentList $sourceFile,$destination;
$result;
}
cd c:\
它的工作罰款iwflO1這是從那裏我運行該腳本的根服務器,但對其他服務器它給我像
錯誤找不到路徑「 \ iwdflO1 \ C $ \ Deploy \ bin「,因爲它不存在。
但是,如果我登錄到iwflO2或任何其他服務器,並手動命中路徑其工作正常。
這看起來像是雙跳問題。這裏有一個[technet博客](https://blogs.technet.microsoft.com/ashleymcglone/2016/08/30/powershell-remoting-kerberos-double-hop-solved-securely/)以及一些變通方法。 – BenH
看看這個,看看它是不是相似http://stackoverflow.com/a/23625969/5233410 – Nkosi
這是怎麼一個雙跳問題本? –