• ベストアンサー

jscriptの質問

拡張子が「js」のファイルでWshShell.Runでサーバにアクセスできません。 var WshShell= new ActiveXObject("WScript.Shell"); WshShell.Run("runas /user:ドメイン名\\administrator \\サーバ名\Adobe Reader9をサイレントインストールする.bat"); while(!WshShell.AppActivate("runas.exe")){ WScript.Sleep(100); } ・ ・ ・ WshShell.Run("runas /user:ドメイン名\\administrator \\サーバ名… を WshShell.Run("runas /user:ドメイン名\\administrator cmd にすると上手くいきました。 たぶん、「\\サーバ名」の「\」の部分がうまくいってないような気がします どなたかご教授お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.3

「パスを""で括る」「"はエスケープする」とこうなります。 WshShell.Run("runas /user:ドメイン名\\administrator \"\\(サーバ名)\(共有フォルダ名)\(途中のフォルダ)\Adobe Reader9をサイレントインストールする.bat\""); ()の中身は実環境に合わせて置き換えてください。ぶっちゃけた話、エクスプローラで見た時のパスをそのままコピーするのが楽です。 > これではうまくいきませんでした。 バッチファイルの名前が違うのですからうまくいかなくて当然でしょう。 質問時の「空白込みのバッチファイル名」が正しいんですよね? ところで、ちゃんと\\サーバ名\共有フォルダ名でアクセスできますか? それは出来ているものとしてここまで回答してますが、出来ていなければまた回答の方向性が変わってくるので……

その他の回答 (3)

  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.4

あ、もう一つありました。 フォルダ区切りの\もエスケープが必要なので、実際にはこうなります。 WshShell.Run("runas /user:ドメイン名\\administrator \"\\\\(サーバ名)\\(共有フォルダ名)\\(途中のフォルダ)\\Adobe Reader9をサイレントインストールする.bat\""); エクスプローラからコピーペーストした後に\を倍増させる感じですね。

  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.2

あ、実行パスに空白入ってますね。 パス全体を""で括ってください。 もちろん"のエスケープは忘れずに。

tuyo1980
質問者

補足

すいません。具体的にはどのように記述すればいいんでしょうか? これではうまくいきませんでした。 WshShell.Run("runas /user:ドメイン名\\administrator \\サーバ名\共有ファイル名\バッチ\Adobe_Reader9をサイレントインストールする.bat"); よろしくおねがいします。

  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.1

えーと、ファイルサーバ上のバッチファイルを実行したい、という主旨でいいですか? 共有フォルダ名がファイル名の前に入ってないが原因だと思いますが。

tuyo1980
質問者

補足

共有フォルダ名をいれてもできません。 以上、よろしくお願いします。

関連するQ&A

  • WshShell.Runでサーバにアクセスできません。

    拡張子が「js」のファイルでWshShell.Runでサーバにアクセスできません。 var WshShell= new ActiveXObject("WScript.Shell"); WshShell.Run("runas /user:ドメイン名\\administrator \\サーバ名\Adobe Reader9をサイレントインストールする.bat"); while(!WshShell.AppActivate("runas.exe")){ WScript.Sleep(100); } ・ ・ ・ どなたかご教授お願いします。

  • VBScript

    下記、プログラムを実行すると、コマンドプロンプトの画面が 消えずに、そのまま残ってしまいます。 どうしたら、画面を消すことができるでしょうか。 お力添えをお願いいたします。 Set WshShell = Wscript.CreateObject("WScript.Shell") Set WshEnv = WshShell.Environment("user") WshEnv("C:\NET\aaa.txt") = "administrator" Wshshell.Run("cmd.exe") WScript.Sleep(500) WshShell.SendKeys("runas /user:administrator " + chr(34) + "xcopy D:\NET\aaa.txt C:\NET\aaa.txt" + chr(34)) WshShell.SendKeys("{Enter}") WScript.Sleep(500) WshShell.AppActivate "C:\WINDOWS\system32\runas.exe" WshShell.SendKeys("XXXXX") WshShell.SendKeys("{Enter}") WScript.Sleep(500)

  • JP1からvbs(PSExec)が起動できない

    突然失礼します。 以下のサーバーAにあるvbsを、JP1から起動しようとしていますが、うまく起動しないので、もし原因が分かる方がいたら、ご教授願いたいです。 起動しようとしているサーバーAの「test.vbs」は、簡単に言うと、PsExecを利用して、サーバーBの「hoge.bat」を実行する内容です。 ***test.vbs*** Set WshShell = WScript.CreateObject("WScript.Shell") WshShell.Run "PsExec.exe サーバーBIPアドレス -u 実行ユーザ -p 実行ユーザーパスワード cmd" WshShell.AppActivate "cmd " WScript.Sleep 3000 WshShell.SendKeys "cd C:\" WshShell.SendKeys "{enter}" WshShell.SendKeys "hoge.bat" WshShell.SendKeys "{enter}" WScript.Sleep 10000 WshShell.AppActivate "cmd" WshShell.SendKeys "exit" WshShell.SendKeys "{enter}" ************************ 上記バッチを手動で実行するとうまくいくのですが、 JP1で起動しようとすると、うまくいきません。 そもそもPsExecが実行出来ていないかも。。。。 宜しくお願いします。

  • Runasの指定について

    お世話になります、runasの使用時にパスの指定の仕方について教えてください。 以下のようにパスを指定し、Runas後にスクリプトを実行しようとしていますが、objexeccmdの部分で引っかかってしまい、先に進むことが出来ません。 お手数ですが、よろしくお願いいたします。 objExecCmd = \"runas /user:Bunseki \\\"cscript.exe \\\\server\\\\log.wsf\" \'実行パスを記入 Set WshShell = WScript.CreateObject(\"WScript.Shell\") WshShell.run objExecCmd, 1, true

  • VBAでネットワーク上のバッチジョブを実行したい

    クライアントPCのVBAからサーバなどのネットワーク上のバッチジョブを実行するにはどのようにすればよいでしょうか?   Dim WshShell Set WshShell = CreateObject("WScript.Shell") WshShell.Run "\\サーバ名\AAAAA\BAT\TEST.bat", , True MsgBox "終了!" Set WshShell = Nothing 上記を参考にしたのですが、どうもうまくいかないのです。 何かが足りないのですか?

  • net useで接続したファイルをrunasでxcopyできない

    こんにちは。VBScriptに関する質問です。 net useで接続した先のファイルをローカルの同名ファイルに 管理者権限で(runasを使用)xcopyを利用してコピーしたいのですが ネットワークに接続はされるのですが、コピーができません。 ちなみに、ローカルからローカルでは成功しています。 ※下記のバッチを流した場合にエラーはでません。 ※ローカルからの変更点は、Call文を利用してる2行を追加したのと  xcopyの送り先をnet useで接続した先に変えただけです。 ※DOSコマンドで行った場合は成功しています。 環境:Windows XP and Windows 2000 Set WshShell = Wscript.CreateObject("WScript.Shell") Call WshShell.Run("net use l: \\DDD\** /user:DDD\[ログオンID] [ログオンPW]") Set WshEnv = WshShell.Environment("user") WshEnv("C:\TEST\b.txt") = "USER01" Wshshell.Run("cmd.exe") WScript.Sleep(500) WshShell.SendKeys("runas /user:USER01 " + chr(34) + "xcopy l:\TEST\b.txt C:\TEST\b.txt /Y" + chr(34)) WshShell.SendKeys("{Enter}") WScript.Sleep(500) WshShell.AppActivate "C:\WINDOWS\system32\runas.exe" WshShell.SendKeys("XXXXXX") WshShell.SendKeys("{Enter}") Call WshShell.Run("net use l: /delete /Y") WshShell.SendKeys("exit") WshShell.SendKeys("{Enter}")  手詰まりになってしまい、困っています。 どなたか、お力添えをいただけると助かります。 よろしく、お願いいたします。

  • VBSでバッチを実行できません。

    C:\temp\test.batをVBSで実行しようとするのですが、 何度やっても実行されません。 想像ですが、c:\WINNT\System32\cmd.exeが動いている ようなのですが、肝心のC:\temp\test.batが動きません。 以下のように記述しました。 Dim WshShell Set WshShell = WScript.CreateObject("WScript.Shell") WshShell.Run ("cmd /c c:\temp\test,0,True") WIN2K、IE6.0の環境です。 どこか記述に誤りでもあるのでしょうか? どうぞよろしくお願いいたします。

  • バッチファイルでAdministrator権限を付与する

    runas /user:ドメイン名\administrator cmd < C:\pass.txt C:\pass.txtにあらかじめパスワードを入力しておいて、パスワードを入力しなくてもよいバッチファイルをつくろうと思います。 しかし、実行すると下記のようなメッセージがでてしまします。 C:\>runas /user:ドメイン名\administrator "cmd" 0<"C:\pass.txt" ドメイン名\administrator のパスワードを入力してください: cmd をユーザー "ドメイン名\administrator" として開始しています... RUNAS エラー: 実行できません - cmd 1326: ログオン失敗: ユーザー名を認識できないか、またはパスワードが間違っています 。 なぜか下記のようなところに「0」がついてしまします。 0<"C:\pass.txt" どなたか解決方法をおしてください。

  • WSHを使いTELNETで%USEPROFILE%\デスクトップにファイルを複写したい

    WSHをはじめたばかりです。TELNETで接続した現在の相手のデスクトップにファイルを複写させたいと考えています。 DOSのように指定したのですがカナ文字や%がうまく渡されていないようなのですがどのように設定すればよいか教えてください。 下記のように作成しています。 よろしくお願いします。 set WshShell = WScript.CreateObject("WScript.Shell") WshShell.AppActivate "確認" WScript.Sleep 1000 adr = InputBox("端末IPアドレスを入力してください。", 1) adr = "telnet " & adr & "~" rem telnet ホスト名 WshShell.SendKeys adr WScript.Sleep 2000 rem ユーザー名 WshShell.SendKeys "administrator~" WScript.Sleep 1000 rem パスワード WshShell.SendKeys "administrator~" WScript.Sleep 1000 rem コマンド WshShell.SendKeys "cd %USEPROFILE%\デスクトップ~" WScript.Sleep 3000 rem あとCOPYによる複写コマンドの記述

  • VBSのsendkeysで日本語を出力したいです

    WshShell.Run "explorer" WScript.Sleep 100 WshShell.AppActivate "explorer" WScript.Sleep 100 WshShell.SendKeys "C:\Users\Default\" WScript.Sleep 100 WshShell.SendKeys "デスクトップ" WScript.Sleep 100 WshShell.SendKeys "{ENTER}" WScript.Sleep 100 *.VBS ファイルに書き込んで、直接実行したいのですが、エラーになります。 どんなコマンドを足すといいのですか?

専門家に質問してみよう