通常、一般ユーザから管理者権限が必要なアプリケーションを起動する場合、管理者権限での認証(UAC)が必要となる。アプリケーションで管理者権限が必要となるのはインストールやアンインストールをする時のみであるのが一般的。
しかし、アプリケーションの中には起動時に管理者権限が必要なものもある。今回は、この管理者権限が必要なアプリケーションを一般ユーザから起動する方法について書いてみる。
runasコマンドから実行する
調べてみたら公式フォーラムに書いてあった。GUI使わないでCUIでほとんどの処理は行えるので記事を参考にCUIメインでやってみる。
1.「スタートメニュー」から「すべてのプログラム」>「アクセサリ」の順でクリックする。
2.「コマンドプロンプト」にカーソルを合わせて右クリック>「管理者として実行」の順にクリックする。
3.管理者のパスワードを入力すると管理者権限でコマンドプロンプトが起動する。
4.次のコマンドを入力してユーザー「administrator」を有効化する。(初期では無効化されている)
net user administrator /active:yes
5.次のコマンドを入力してユーザー「administrator」のパスワードを変更する。今回はパスワードを「MyPassWord」に設定した。(administratorは全権限を持っているのでパスワードは推測されにくい強固なものを設定して特に厳重に管理する。)
net user administrator MyPassWord
6.administratorが有効化されているか次のコマンドを入力して確認する。
net user
7.管理者権限で実行したいアプリケーションのショートカットをデスクトップに作成する。
今回は「Network Miner」を例に実行してみる。
8.「Network Miner」のショートカット上で右クリック>「プロパティ」をクリックして開く。
9.プロパティのリンク先の先頭に以下の文字列を貼り付けて「OK」をクリックする。
%windir%System32runas.exe /savecred /user:administrator
10.デスクトップのアイコンをダブルクリックしてアプリケーションを起動する。
(デスクトップのアイコンが変化するが問題ない。)
11.起動するとadministratorのパスワード(今回はMyPassWord)入力を求められる。先ほど設定したパスワードを入力して「Enter」を押下する。
12.起動中のメッセージが表示され、しばらく待つとアプリケーションが管理者権限で起動する。以後はパスワード入力なくアプリケーションを起動できる。
同じ方法をAdministrator以外の管理者権限を持ったユーザで行ったところ正常に動作せず。おそらく管理者権限を持っているUsersグループに属したユーザだとUACが効いてしまうのだろう。。
この他に、「UACをOFFにする」や「タスクスケジューラの[最上位の特権で実行する]で起動する」などの方法があるがrunasで実行するのがベストではないかと思う。
コメントを残す