- 締切済み
runas実行した時にきかれるパスワードを手入力以外で読み込ませたい
早速ですが、質問させて頂きます。 Admin権限を持っていないユーザでログオンし、Admin権限を持っていないと動かせないプログラム(例えばdefragなど)をrunasコマンドを用いて動かすとします。 この時、Administratorのパスワードを聞いてきますが、手入力以外で読み込ませたいと考えています。 テキストにパスワードを書いておいてそれを読むようにするというようなことは出来ますでしょうか? 試してはいるものの、そもそも試し方が間違っているように思い、質問させて頂きました。 乱文ですみません。 宜しくお願い致します。
- みんなの回答 (6)
- 専門家の回答
みんなの回答
WindowsVista以降ではSendKey()などで自動化することはできません。なので、そういうことをしたい場合はschtasksを使ったほうがいいと思います schtasks /Create /TN [名前] /TR [コマンド] /ru SYstem schtasks /Run /TN [名前] schtasks /Delete /TN [名前]
- qwedewwerwe
- ベストアンサー率0% (0/0)
RunAsにこだわらないのであれば, http://www.vector.co.jp/soft/winnt/util/se388090.html のようにパスワードなしで管理者アカウントで動かす仕組みもあります。
- ittochan
- ベストアンサー率64% (2667/4137)
raby さんは今でもこれ見ているのかな? こういう方法でパスワード入力をバイパスさせることが可能です (WindowsXP Home Editionでは無理かもしれません) 例えばAdministratorで起動させたい場合 コマンドプロンプトで RUNAS /savecred /user:administrator regedit をします。 すると パスワードを要求されるので入力して regeditを起動させます。 これでadministratorのパスワードが資格情報ファイルとして保存されます。 以降 RUNAS /savecred /user:administrator regedit を実行してもパスワードを要求されなくなります。
- ittochan
- ベストアンサー率64% (2667/4137)
delayedSendKeys("zzzz"); これはパスワードがzzzzの場合です
- ittochan
- ベストアンサー率64% (2667/4137)
こんな感じでしょうか? 拡張子はjsです。 var WshShell= new ActiveXObject("WScript.Shell"); WshShell.Run("runas /user:administrator c:\\windows\\notepad"); while(!WshShell.AppActivate("runas.exe")){ WScript.Sleep(100); } delayedSendKeys("zzzz"); WScript.Sleep(100); WshShell.SendKeys("{enter}"); function delayedSendKeys(str){ for(i=0;i<str.length;i++){ WScript.Sleep(100); WshShell.SendKeys(str.substring(i,i+1)); } }
- gatyan
- ベストアンサー率41% (160/385)
パスワードが丸わかりになってもいいなら、 runas /user:ユーザー コマンド < pswd.txt としてみては? リダイレクトする…どこまでリダイレクトが有効になるのかは未確認です。実行するのがWindowsのプログラムならリダイレクトは気にしなくてもいいと思います。 pswd.txtには、パスワードのみ書いておきます pswd.txtの部分は、フルパスで指定した方がいいかもしれません。(cd等を使って、カレントフォルダを設定していない場合など)