OKこれは、ローカルサーバーの管理者ユーザーを使用して、ローカルドライブからリモートサーバーにファイルをコピーする必要があります。ネットワーク経由でファイルをコピーする
Exception calling "MapNetworkDrive" with "5" argument(s): "The network path was not found."
OKこれは、ローカルサーバーの管理者ユーザーを使用して、ローカルドライブからリモートサーバーにファイルをコピーする必要があります。ネットワーク経由でファイルをコピーする
Exception calling "MapNetworkDrive" with "5" argument(s): "The network path was not found."
だから、スクリプトがフォルダだった場合にのみ、ファイルをコピーすることが可能であると思われる:私は、サーバーが私のマシンからアクセス可能であっても、次のエラーを取得していますいくつかの理由
$User = "SERVER-NAME\MyUser"
$Password = "Password"
$net = new-object -ComObject WScript.Network
$net.MapNetworkDrive("X:", "\\SERVER-NAME\c$\MyTestFolder\", $false, $User, $Password)
Copy-Item -Path "D:\Path\To\Copy\From" -Destination "X:\" -Recurse -Force -PassThru -Verbose
実際にネットワーク上で共有されます([フォルダのプロパティ] - > [共有] - > [高度な共有])。ファイルシステムへの実際のリモートアクセスはありません(これはちょっと残念です)。
$User = "SERVER-NAME\AdminUser"
$Password = "Password"
$net = new-object -ComObject WScript.Network
$net.MapNetworkDrive("x:", "\\SERVER-NAME\TestFolder", $false, $User, $Password)
Copy-Item -Path "D:\Path\To\Copy\From" -Destination "x:\" -Recurse -Force -PassThru
$net.RemoveNetworkDrive("x:", 0)
このように、新しい-PSDriveコマンドでドライブを作成しよう: ここに私がなってしまったスクリプトの簡易版だ
$userCRED = "SERVER-NAME\MyUser"
$pass="Password"
$passCRED = ConvertTo-SecureString -String $pass -AsPlainText -Force
$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $userCRED, $passCRED
$DestinationExport="\\SERVER-NAME\c$\MyTestFolder"
New-PSDrive -Name X -PSProvider filesystem -Root $DestinationExport -Credential $cred
Copy-Item -Path "D:\Path\To\Copy\From" -Destination "X:\" -Recurse -Force -PassThru -Verbose
Remove-PSDrive -Name X
なぜ最初の場所にドライブをマップ? UNCで共有にアクセスできる場合は、UNCパスを使用し、資格を 'Copy-Item'に渡します。 – Fairy
ドル記号をバッククォートで 'c $'にエスケープしてください。 – vonPryz
@Fairy以前のバージョンのスクリプトで試しましたが、私が得た資格情報を渡そうとしました。 'FileSystemプロバイダーは、New-PSDriveコマンドレットでのみ資格情報をサポートします。' – Andrew