遅刻の「言い訳」選手権

早速ですが、質問させて頂きます。
Admin権限を持っていないユーザでログオンし、Admin権限を持っていないと動かせないプログラム(例えばdefragなど)をrunasコマンドを用いて動かすとします。
この時、Administratorのパスワードを聞いてきますが、手入力以外で読み込ませたいと考えています。
テキストにパスワードを書いておいてそれを読むようにするというようなことは出来ますでしょうか?
試してはいるものの、そもそも試し方が間違っているように思い、質問させて頂きました。

乱文ですみません。
宜しくお願い致します。

A 回答 (6件)

WindowsVista以降ではSendKey()などで自動化することはできません。

なので、そういうことをしたい場合はschtasksを使ったほうがいいと思います

schtasks /Create /TN [名前] /TR [コマンド] /ru SYstem
schtasks /Run /TN [名前]
schtasks /Delete /TN [名前]
    • good
    • 20

RunAsにこだわらないのであれば,


http://www.vector.co.jp/soft/winnt/util/se388090 …
のようにパスワードなしで管理者アカウントで動かす仕組みもあります。

参考URL:http://www.vector.co.jp/soft/winnt/util/se388090 …
    • good
    • 4

raby さんは今でもこれ見ているのかな?



こういう方法でパスワード入力をバイパスさせることが可能です
(WindowsXP Home Editionでは無理かもしれません)

例えばAdministratorで起動させたい場合

コマンドプロンプトで
RUNAS /savecred /user:administrator regedit
をします。
すると
パスワードを要求されるので入力して
regeditを起動させます。

これでadministratorのパスワードが資格情報ファイルとして保存されます。

以降
RUNAS /savecred /user:administrator regedit
を実行してもパスワードを要求されなくなります。
    • good
    • 15

delayedSendKeys("zzzz");


これはパスワードがzzzzの場合です
    • good
    • 9

こんな感じでしょうか?


拡張子は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));
}
}
    • good
    • 4

パスワードが丸わかりになってもいいなら、


runas /user:ユーザー コマンド < pswd.txt

としてみては?

リダイレクトする…どこまでリダイレクトが有効になるのかは未確認です。実行するのがWindowsのプログラムならリダイレクトは気にしなくてもいいと思います。

pswd.txtには、パスワードのみ書いておきます
pswd.txtの部分は、フルパスで指定した方がいいかもしれません。(cd等を使って、カレントフォルダを設定していない場合など)
    • good
    • 13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A