RunAsコマンドってパスワードがコマンドラインに指定できないんですよね。パスワードを省略したければ/savecredを使って一回パスワードを保存しておきなさいって言うことらしい。
WSHを使ってパスワードを与えるなんてことも出来るのだけれど、結構使いにくいしインタプリタでテキストファイルを読みながら実行されるのでパスワードがだだ漏れなのである。
まあ、個人レベルではパスワードだだ漏れでもあまり気にはならないのでしょうが…
と言うことで、またまたC#の勉強がてら作ってみました。
[2019/11/26 追記]
Sysinternals には便利なユーティリティが公開されています。
暗号化が不要であれば、ShellRunas や PsExec が便利に使えると思います。
BCRunAsは [/e] ユーザー名 パスワード プログラム [パラメーター]を指定します。スイッチとパラメーターは省略可能です。
/eを使用すると暗号化されたパスワードを使用します。
パスワードの暗号化にはBCRunAsCryptoを利用して暗号化します。
まあ、BCRunASと暗号化されたパスワードがあれば、誰でもそのユーザーの権限でプログラムを動かせるというリスクはあるんだけど、それでも何もしないよりはそのユーザーでログインされないとかリスクは減ると思うので一応作ってみましたです。
良かったらBCRunASからダウンロードして使ってやってください。
※.Net Framework 3.0が必要です。
※指定出来るユーザーアカウントはローカルアカウントのみです。
コメント (0件)