私は複数のサーバーにコードを同時に展開するPSスクリプトを実装しました。ここでは、ソースファイルをあるサーバーから別のサーバーにコピーする必要があります。以下のコードを参照してください:それはiwflO1の罰金働いて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:\
私は、スクリプトを実行している場所からのルートサーバーがあるが、他のサーバーのためにそれは私に
のようなエラーを与えているパスを見つけることができません」 \ iwdflO1 \ C $ \ Deploy \ bin "が存在しないためです。
しかし、iwflO2や他のサーバーにログインして手動でパスを手動でヒットした場合は、これに代えて
:
$Myblock={param{$sourceFile,$destination)
copy-Item -Force -Recurse $sourceFile -Destination $destination
}
これを行う:
これはダブルホップの問題のようです。いくつかの回避策を講じた[テクニカルブログ](https://blogs.technet.microsoft.com/ashleymcglone/2016/08/30/powershell-remoting-kerberos-double-hop-solved-securely/)です。 – BenH
これを見て、それが似ていないかどうかを確認してくださいhttp://stackoverflow.com/a/23625969/5233410 – Nkosi
どのようにダブルホップの問題ベンそれを来る? –