2017-02-10 17 views
0

OKこれは、ローカルサーバーの管理者ユーザーを使用して、ローカルドライブからリモートサーバーにファイルをコピーする必要があります。ネットワーク経由でファイルをコピーする

Exception calling "MapNetworkDrive" with "5" argument(s): "The network path was not found." 
+0

なぜ最初の場所にドライブをマップ? UNCで共有にアクセスできる場合は、UNCパスを使用し、資格を 'Copy-Item'に渡します。 – Fairy

+0

ドル記号をバッククォートで 'c $'にエスケープしてください。 – vonPryz

+0

@Fairy以前のバージョンのスクリプトで試しましたが、私が得た資格情報を渡そうとしました。 'FileSystemプロバイダーは、New-PSDriveコマンドレットでのみ資格情報をサポートします。' – Andrew

答えて

0

だから、スクリプトがフォルダだった場合にのみ、ファイルをコピーすることが可能であると思われる:私は、サーバーが私のマシンからアクセス可能であっても、次のエラーを取得していますいくつかの理由

$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) 
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