もくじ
📝 はじめに
PowerShellで作業していると、
「管理者権限が必要でエラーになる」
「右クリックして“管理者として実行”する操作を自動化したい」
と感じることはありませんか?
そんなときに使うのが、
プログラムを管理者権限で起動できる
Start-Process -Verb RunAs です。
この記事では、UAC(ユーザーアカウント制御)を伴う起動を、
PowerShellから安全に行うための基本を解説します。
- レジストリ操作やサービス管理を行いたい
- 管理者権限が必要なツールを起動したい
- 手順書やスクリプトで起動方法を統一したい
✅ この指定でできること(要点)
- プログラムを管理者権限で起動できる
- UACの確認を伴って安全に実行できる
- 引数付き起動と組み合わせられる
- GUI操作(右クリック)をスクリプト化できる
✅ Start-Process -Verb RunAs でできること
-Verb RunAs は、
プログラム起動時の「実行方法(動詞)」を指定するオプションです。
RunAs を指定すると、
Windowsの「管理者として実行」と同じ挙動になります。
実行時には、UACの確認ダイアログが表示される場合があります。
管理者権限が必要な操作を明示的に分けて実行できる点が特徴です。
🧩 基本構文
Start-Process プログラム名 -Verb RunAs
プログラム名やフルパスを指定して起動します。
権限昇格が必要な場合は、UAC確認が表示されます。
▶ 基本的な使い方(まずこれだけ)
🔹 管理者としてプログラムを起動する
Start-Process notepad -Verb RunAs
管理者権限でメモ帳が起動します。
UACの確認後、ウィンドウが表示されれば正常に実行できています。
🔹 フルパス指定で起動する
Start-Process "C:\Windows\System32\cmd.exe" -Verb RunAs
管理者権限のコマンドプロンプトが起動します。
この状態で実行するコマンドは、管理者権限で処理されます。
🛠 よく使われる指定例
🔹 引数付きで管理者起動する
Start-Process notepad -ArgumentList "C:\test\sample.txt" -Verb RunAs
管理者権限で起動しつつ、引数も同時に渡せます。
ファイルが開けば、引数は正しく渡されています。
🔹 バッチファイルを管理者として実行する
Start-Process "C:\scripts\setup.bat" -Verb RunAs
管理者権限が必要なセットアップ処理に便利です。
💼 実務でよく使う使用例(応用)
🔹 管理者作業を分離して実行する
Start-Process powershell -Verb RunAs
管理者権限のPowerShellを別ウィンドウで起動します。
通常作業と管理作業を分けたい場合に有効です。
🔹 設定変更ツールを管理者で起動する
Start-Process "C:\tools\config.exe" -ArgumentList "-apply" -Verb RunAs
- -ArgumentList で動作指定
- -Wait で処理完了を待機
- Get-Process で起動確認
🧩 よくある勘違い・つまずきポイント
- 現在のPowerShell自体が管理者になるわけではない
- UACは自動では回避できない
- 非対話環境ではUACで止まることがある
- 引数の指定ミスで意図しない起動になることがある
🔄 cmdとの違いについて
cmdには、単一コマンドで確実に
「管理者として起動」を指定する方法は多くありません。
PowerShellの Start-Process -Verb RunAs は、
権限昇格を明示的に指定できる点が大きな違いです。
⚠ エラー・うまく動かないときの確認ポイント
- UACが無効化されていないか
- 指定したプログラムのパスが正しいか
- 非対話セッション(タスク等)で実行していないか
- 引数や引用符の書き方が正しいか
🧠 注意点
管理者権限で起動したプロセスは、
システム全体に影響を与える可能性があります。
必要な場面に限定して使用することが重要です。
📌 まとめ
- -Verb RunAs で管理者として起動できる
- UAC確認を伴う安全な権限昇格
- 引数付き起動とも併用可能
- 次は -ArgumentList や -Wait と組み合わせると実務で便利
🔎 PowerShellコマンドを探す
やりたいことからコマンドを探せます。
- ファイルを削除したい
- 一覧を表示したい
- 文字列を検索したい
- 条件で絞り込みたい
- エラーや実行できない原因を調べたい
- 管理者として起動したい
- 権限エラーを回避したい
