回答:
コマンドが失敗する理由は、引数でコマンド全体を引用する必要があるためです。そうでない場合は、単に引数をに渡しているだけですrunas
。
考慮してください:
C:\Windows\System32\runas.exe /user:DOMAINNAME\UserName "explorer.exe \"\\ServerName\drive$\directory\""
/user:
そこにも部品が必要だと思うので、完成のためにそれを含めました。
またDocuments
、何らかの理由でパスにアクセスできない場合もデフォルトになります。
Net Use
コマンドを使用
あなたが欲しいのは:
net use x:\\サーバー名\ドライブ$ \ディレクトリ* /ユーザー:ユーザー名
基本的には、\ servername \ drive $ \ directoryを指すマップされたネットワークドライブをx:(または任意のドライブ)に作成します。*は、パスワードの入力を求めることを示します。/ user:usernameは、使用するユーザー名を指します。
パスワードの入力を求められない場合は、そこにパスワードを書き込むことができます。
これがお役に立てば幸いです。
注:以前に別のユーザーとしてその共有ドライブに既に接続している場合、失敗します。他のユーザー名との現在の接続を削除する必要があります。
net use x: \\servername\drive$\directory /user:username password
スペースで区切って入力します。注:パスワードはクリアテキストであるため、バッチスクリプトの一部として配置することはお勧めしません(誰でもパスワードをバッチファイルから読み取ることができます)。