runas コマンドとは
社内でサポートしていると、よくこんな場面に出くわします。
「普段は管理者権限を持たないユーザーアカウントで作業している。でも、ドライバのアンインストールや管理者権限が必要なWeb管理画面を開くときは権限が足りない…」
管理者でログオフ/ログオンするのは手間。そこで役立つのが Windows 標準の runas コマンド です。
必要なときだけ管理者アカウントでアプリを起動できる、便利な仕組みです。
runas とは
- 「別のユーザーとしてプログラムを実行する」ためのWindows標準コマンド
- 標準ユーザーでログオンしていても、管理者アカウントのIDとパスワードを入力すれば、管理者権限のプログラムを起動できる
- イメージ:普段は自分の鍵で部屋に入るけど、必要なときだけ管理者の鍵を借りて別の部屋に入る感じ
補足
runas は「別ユーザーで実行」するもので、すべてのケースでUAC昇格を自動化するわけではありません。場合によっては cmd.exe /c を中継する必要があります。
実務例1:デバイスマネージャーを管理者権限で開く
私の場合、社内ユーザーPCをサポートするときに デバイスマネージャーからドライバーをアンインストールして、再起動して再インストール することがあります。
デバイスの無効化・アンインストールには管理者権限が必要なため、runas で管理者アカウントを使って開きます。
runas /user:DOMAIN\AdminAccount "cmd.exe /c mmc devmgmt.msc"
- runas /user:DOMAIN\AdminAccount:管理者アカウント(ローカルなら PC名\Administrator)
- コマンド実行後にパスワード入力
- 成功すると管理者権限のデバイスマネージャーが起動
ヒント
この方法で再ログオンせずに作業できるので、サポート効率が上がります。
実務例2:別の管理コンソールを管理者権限で開く
同じ方法は、ほかの管理ツールにも使えます。たとえば、サービスコンソールを管理者アカウントで開いて、Windows サービスを再起動・設定変更したいときは次のようにします。
runas /user:DOMAIN\AdminAccount "cmd.exe /c mmc services.msc"
- コンソールは管理者アカウントで起動するので、セッション全体を切り替えずにサービスを管理できます。
services.mscの部分は、必要なコンソールに置き換えてください(例:compmgmt.msc=コンピューターの管理、eventvwr.msc=イベントビューアー)。
実務例3:管理者用のブラウジングを別セッションに分ける
Microsoft 365 管理センターや Intune、Exchange 管理センターなどのWeb管理画面に、普段使いのログインを崩さずに専用の管理者アカウントでサインインしたいことがあります。runas はブラウザを別の Windows アカウントで起動できるため、独立したプロファイルで動かせます。
runas /user:DOMAIN\AdminAccount "cmd.exe /c start chrome --user-data-dir=%LocalAppData%\ChromeAdmin"
注意
ブラウザを別の Windows ユーザーで起動しても、分離されるのはブラウザのセッションだけで、Web管理画面の管理者権限が得られるわけではありません。Intune や Exchange 管理センターで何ができるかは、ブラウザ上でサインインするアカウントで決まり、起動した Windows アカウントには依存しません。また Chrome はプロファイルごとに1つのインスタンスを共有するため、上記のように --user-data-dir で別プロファイルを指定しないと、既存のウィンドウにタブが開くだけになることがあります。
普段の用途であれば、別の Chrome プロファイルやシークレットウィンドウのほうが runas より手軽です。ブラウザを別の Windows アカウントで動かしたい、という明確な理由があるときに runas を使いましょう。
よくある疑問・注意点
- パスワードをバッチに書くのはNG → 漏洩リスク大
- /savecred オプションはセキュリティリスクがある → 使用は企業ポリシーを確認
- UAC との関係 → runas は昇格コマンドではないため、740エラーが出た場合は cmd.exe /c などの工夫が必要
注意
管理者パスワードをバッチファイルやスクリプトに直接書き込むのは絶対に避けてください。平文の認証情報は重大なセキュリティリスクです。/savecred オプションは初回入力後にパスワードをキャッシュするため、リスクがさらに高まります。必ず組織のセキュリティポリシーに従ってください。
便利な運用アイデア
- よく使うコマンドは バッチ化 → ダブルクリックで起動(パスワードは入力)
- タスクスケジューラ で管理者権限タスクを作成 → ワンクリック実行
- 外部ツール(PsExecなど) は便利だが管理には注意
まとめ
- runas は「別ユーザーとしてプログラムを実行」できる標準コマンド
- デバイスマネージャー起動では cmd.exe /c を中継するのが実務でのコツ
- 別のコンソールやブラウザも管理者アカウントで起動できる(ただしWeb管理画面の権限は、runas ではなくサインインするアカウントで決まる)
- パスワード自動化は危険。運用ルールを守って活用