UNCパスからローカルサーバーにフォルダをコピーするスクリプトを作成中です。私はリモートで対話型のセッションを通じて私のスクリプトを実行しているので、同様に、Invoke-Commandコマンド-ScriptBlockを利用しています:それは失敗し、私を投げているPowerChellがUNCパスからのコピーに失敗しました
$script {
try {
New-PSDrive -Name MyDrive -PSProvider FileSystem -Root \\uncpathserver\e$\SourceCode\ -Credential Contoso\me
Copy-Item -Path \\uncpathserver\e$\SourceCode\* -Destination E:\Inetpub\Target -Recurse -Force
}
catch {
Write-Host "Failed to copy!"
}
}
:
Invoke-Command -ComputerName MyServer -ScriptBlock $Script
これは、コピーを行うためのスクリプトです毎回ブロックをキャッチします。私はこれがうまくいくためには何が欠けているのか分からないようです - それはとても簡単なようです。私は何かをはっきりと見逃していないことを願っています。
EDIT:
は、私はそれが今ちょうど私のローカルPCからではなく、サーバからスクリプトを実行して、仕事を得ることができました。私は今も$ scriptブロックからファイルコピーを呼び出しています。 (トラブルシューティングのためにここでは省略されている)私の$スクリプトブロックは、[OK]を働いているの内側に私がやっている他の
$MyServers= @("server-01", "server-02")
foreach ($server in $MyServers)
{
$TargetSession = New-PSSession -ComputerName $server -Credential
contoso\me
Copy-Item -ToSession $TargetSession -Path C:\Source\TheCode\ -
Destination "E:\InetPub\wherethecodegoes" -Recurse -Force
}
すべて:これは、新しいコードは次のようになります。私は各サーバーの資格情報を入力する必要がありますが、私が使用しているサーバーの性質上、それは取引の中断者ではありません。
catchブロックを削除して、エラーの内容を確認します。 – zdan
が存在しないため、\\ uncpathserver \ e $ \ SourceCode \というパスが見つかりませんでした。 – jnunham
代わりに 'net use'を試しましたか? –