UACをレジストリで制御~PowerShellを起動すると即管理者モード~

Office365等を遠隔操作するため、PowerShellを右クリックして管理者で実行する、という作業が案外面倒。通常モードで起動すると、うまくOffice365を制御できない。

コマンドプロンプトも同様だ。例えば、コマンドでデフォゲ(デフォルトゲートウエイ)を修正しようとしても、行えないため。このレジストリをいじくることで、起動すれば即管理者モードになるという、非常に使いやすいモードに切り替わる。UAC(User Account Control:ユーザーアカウント制御)をGUIで設定してもいいのだが、Windows 8 Proとなると、UACで開いてくれない。

Windows 8でUACを無効するには、コンパネから、「ユーザーアカウントとファミリーセーフティ」。それから、「ユーザーアカウントの変更」から「ユーザーアカウント制御設定の変更」し、常に通知しない、を選択。この設定をしたとしても、例えば、PowerShellをクリックすると、管理者モードで実行されない。

(参考)UAC グループ ポリシーの設定とレジストリ キーの設定(Microsoft)

レジストリで次の値を修正する。レジストリの起動方法は、コマンドから、regeditで起動する。
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem
〔グループポリシー名:ユーザー アカウント制御: 管理者承認モードですべての管理者を実行する〕
キー:EnableLUA  値:0 無効 (16進数) *初期値:1

Windows 7 / 2008用の記事だが、Windows 8でも有効だった。

このレジストリを修正した場合は、当然だが再起動が求められるため、再起動が可能な状態で作業するように。