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