web-dev-qa-db-ja.com

ネットワークロケーションにファイルをコピーするバッチスクリプトで資格情報を提供する方法は?

環境はWindows Web Server 2008で、ファイルがいっぱいのフォルダーをネットワーク上の場所(管理されたバックアップネットワークフォルダー)にコピーしようとしています。これは、私の.batファイルを含むフォルダーで実行されている私の.batファイルです。

copy *.bak \\networklocation\*.bak
pause

ただし、\\ networklocationにはユーザー名xおよびパスワードyが必要なので、スクリプトを実行すると次のようになります。

Logon failure: unknown user name or bad password.

資格情報を提供する方法がわかりません。スケジュールされたタスクを作成し、セキュリティオプションを変更しようとしましたが、これは、マシンに関連する資格情報を使用できるようにしているだけです(つまり、ユーザー名xを入力しようとしましたが、見つかりません)。

すべての適切な権限でこのスクリプトを実行するにはどうすればよいですか?

溶液:

Net Use \\networklocation\sharefolder password /USER:username
copy \*.bak \\networklocation\sharefolder\*.bak
37
Zac

資格情報を提供できるため、スクリプトでNet Useコマンドを使用して共有を最初にマップしてみてください。次に、コピーコマンドでこれらの資格情報を使用する必要があります。

Net Use \\<network-location>\<some-share>\ password /USER:username
41
Max

次のように、共有をローカルドライブにマップすることもできます。

Net Use X: "\\servername\share" /user:morgan password
5
Morgan Williams