【初心者向け】PowerShellを管理者として実行する方法【Windows 10/11対応】開き方から確認・トラブル対処まで

プログラミング・IT

PowerShellでシステム設定を変更したり、実行ポリシーを切り替えたりする場面では「管理者として実行」が必要になります。
しかし、いざ管理者権限で開こうとしても「どこから開けばいいの?」「Windows 11だと表示が違う」と戸惑う方は少なくありません。

この記事では、PowerShellを管理者権限で開く5つの方法に加えて、管理者権限の仕組み(UAC)、権限の確認方法、管理者として開けないときの対処法まで、一記事で完結できるように解説します。

スポンサーリンク

管理者権限とは? UACの仕組みをわかりやすく解説

PowerShellの管理者実行を理解するうえで、まず知っておきたいのが「UAC(ユーザーアカウント制御)」の仕組みです。

Windows Vista以降、Windowsには「UAC(User Account Control)」というセキュリティ機能が組み込まれています。
UACの考え方はとてもシンプルで、「管理者アカウントでログインしていても、普段は一般ユーザーと同じ権限で操作させる」というものです。

たとえば、Administratorsグループに所属するアカウントでPCにログインしていたとしても、通常の操作(ファイル閲覧、Webブラウジングなど)では標準ユーザー権限しか使いません。
そして、システム設定の変更やソフトウェアのインストールなど、管理者権限が必要な操作を行おうとしたときに初めて「このアプリがデバイスに変更を加えることを許可しますか?」という確認ダイアログ(同意プロンプト)が表示されます。

ここで「はい」を選ぶと、そのプロセスだけが一時的に管理者権限に「昇格」する仕組みです。

つまり、「PowerShellを管理者として実行する」とは、PowerShellのプロセスを管理者権限に昇格させた状態で起動することを意味します。
UACの確認ダイアログで「はい」をクリックするステップは、この昇格を承認する操作にあたります。

この仕組みのおかげで、悪意あるプログラムが勝手に管理者権限を使ってシステムを変更することを防いでいます。

PowerShellを管理者として開く5つの方法

用途や習熟度にあわせて、5つの方法を紹介します。
Windows 10とWindows 11で表示名が異なる箇所がありますので、あわせて記載しています。

方法①:スタートメニューの検索から開く(初心者向け)

最もわかりやすい方法です。

  1. 画面左下の検索バー(Windows 11ではタスクバー中央の検索アイコン)をクリック
  2. 「powershell」と入力
  3. 検索結果に表示された「Windows PowerShell」を右クリック →「管理者として実行」を選択
  4. UACの確認ダイアログで「はい」をクリック

Windows 11では、検索結果の右側に「管理者として実行する」というリンクが直接表示される場合もあります。

方法②:Win + X メニューから開く(ショートカット派向け)

キーボード操作で素早く開ける方法です。

  1. キーボードで Windowsキー + X を押す(スタートボタンの右クリックでも同じメニューが開きます)
  2. 表示されたメニューから選択

ここで、Windows 10とWindows 11でメニューの表示名が異なります。

Windows 10では「Windows PowerShell(管理者)」と表示されます。
Windows 11では「ターミナル(管理者)」と表示されます。

Windows 11の「ターミナル(管理者)」を選ぶと、Windows Terminalが管理者権限で起動します。
Windows Terminalの中で開かれるシェル(PowerShell、コマンドプロンプトなど)もすべて管理者権限を引き継ぎます。

デフォルトのシェルがコマンドプロンプトになっている場合は、タブの横にある「∨」ボタンからPowerShellを選択してください。
Windows Terminalの設定画面(Ctrl + ,)で「既定のプロファイル」をPowerShellに変更しておくと、次回から直接PowerShellが開きます。

方法③:「ファイル名を指定して実行」から開く(キーボード完結)

マウスを使わずキーボードだけで完結できる方法です。

  1. Windowsキー + R を押す →「ファイル名を指定して実行」ウィンドウが開く
  2. 「powershell」と入力
  3. Ctrl + Shift + Enter を同時に押す
  4. UACの確認ダイアログで「はい」をクリック

Ctrl + Shift + Enter は「管理者として実行」を意味するショートカットキーです。
通常の Enter だと標準権限で起動するので注意してください。

方法④:タスクバーまたはスタートメニューにピン留めして開く(頻繁に使う人向け)

よく使うなら、あらかじめピン留めしておくとアクセスが楽になります。

  1. スタートメニューで「PowerShell」を検索
  2. 「Windows PowerShell」を右クリック →「スタートにピン留めする」または「タスクバーにピン留めする」を選択
  3. ピン留めしたアイコンを右クリック →「管理者として実行」を選択

タスクバーにピン留めした場合も、右クリックメニューから「管理者として実行」を選べます。

方法⑤:デスクトップショートカットで常に管理者として開く(毎回使う人向け)

毎回管理者権限で使う場合は、ダブルクリックするだけで管理者起動できるショートカットを作っておくと便利です。

  1. デスクトップで右クリック →「新規作成」→「ショートカット」
  2. 「項目の場所」に powershell と入力 →「次へ」→ 名前を付けて「完了」
  3. 作成したショートカットを右クリック →「プロパティ」
  4. 「ショートカット」タブ →「詳細設定」をクリック
  5. 「管理者として実行」にチェック →「OK」→「OK」

以降、このショートカットをダブルクリックするだけで、UACの確認後に管理者権限でPowerShellが起動します。

PowerShell 7(pwsh.exe)を使っている場合は、「項目の場所」に pwsh と入力してください(詳しくは後述の「PowerShell 5.1とPowerShell 7の違い」を参照)。

5つの方法の比較

方法操作の手軽さキーボード完結常時管理者化Windows 10Windows 11
①検索から右クリック
②Win + X メニュー
③Win + R → Ctrl+Shift+Enter
④ピン留め
⑤ショートカット作成△(初回設定あり)

初めて使う方には方法①、ショートカットキーに慣れている方には方法②または方法③がおすすめです。
毎回管理者権限が必要な作業をしている方は、方法⑤でショートカットを作っておくと手間が省けます。

管理者として実行されているかを確認する方法

PowerShellを開いたあと、本当に管理者権限で動いているかを確認する方法は2つあります。

ウィンドウタイトルで確認する

最も簡単な方法です。
PowerShellのウィンドウ上部(タイトルバー)に以下のように表示されていれば、管理者として実行されています。

管理者: Windows PowerShell

Windows Terminalの場合は、タブに盾のアイコン(🛡)が表示されます。

この表示がなく、単に「Windows PowerShell」とだけ表示されている場合は、標準権限で起動しています。

コマンドで確認する

スクリプト内で権限を判定したいときは、以下のコマンドを実行します。

([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole("Administrator")

結果が True なら管理者権限、False なら標準権限です。

このコマンドは、現在のユーザーのセキュリティトークンが「Administratorsグループ(SID: S-1-5-32-544)」のロールを持っているかどうかを判定しています。
PowerShellスクリプトの冒頭に組み込んでおけば、管理者権限がない状態での誤実行を防止できます。

管理者権限が必要になる具体的なケース

「管理者として実行」が必要になる代表的な場面を、実際のコマンドとエラーメッセージ付きで紹介します。

実行ポリシーの変更(Set-ExecutionPolicy)

PowerShellスクリプトの実行を許可するために Set-ExecutionPolicy を使う場面は非常に多いです。
標準権限のPowerShellでこのコマンドを実行すると、以下のようなエラーが発生します。

Set-ExecutionPolicy : レジストリ キー
'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell'
へのアクセスが拒否されました。
既定 (LocalMachine) のスコープの実行ポリシーを変更するには、
[管理者として実行] オプションを使用して Windows PowerShell を起動してください。

エラーの種類は PermissionDenied(アクセス拒否)で、UnauthorizedAccessException が返されます。

このエラーが出たら、PowerShellを閉じて管理者として再度開き、同じコマンドを実行してください。

なお、-Scope CurrentUser を指定すれば、管理者権限なしでも現在のユーザーに限定してポリシーを変更できます。

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

サービスの停止・再起動

Windowsサービスの管理も管理者権限が必要です。

Stop-Service -Name "wuauserv"

標準権限で実行すると、以下のエラーになります。

Service 'Windows Update (wuauserv)' cannot be stopped due to the following error:
Access is denied

Windowsの機能の有効化・無効化

Hyper-VやWSL(Windows Subsystem for Linux)などの機能を有効にする Enable-WindowsOptionalFeature も管理者権限が必要です。

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

標準権限で実行した場合、「管理者特権のアクセス許可が必要」といったエラーが表示されます。

ファイアウォール規則の追加

New-NetFirewallRule -DisplayName "MyApp" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 8080

ネットワーク設定に関するコマンドレットの多くは、管理者権限での実行を求められます。

PowerShell 5.1とPowerShell 7(pwsh)の管理者実行の違い

Windowsには、バージョンの異なる2つのPowerShellが存在します。
管理者として実行する際にも、いくつか知っておくべき違いがあります。

2つのPowerShellの基本情報

項目PowerShell 5.1PowerShell 7
実行ファイル名powershell.exepwsh.exe
インストール状況Windows標準搭載別途インストールが必要
ベースとなるランタイム.NET Framework 4.x.NET 8(7.4の場合)
インストール先C:\Windows\System32\WindowsPowerShell\v1.0\C:\Program Files\PowerShell\7\
プロファイルの保存先Documents\WindowsPowerShell\Documents\PowerShell\

PowerShell 5.1とPowerShell 7は同一のPCに共存でき、互いに干渉しません。

管理者実行における違い

管理者として起動する手順そのものは、5.1も7も基本的に同じです。
検索から「pwsh」と入力して右クリック →「管理者として実行」を選ぶか、ショートカットの「詳細設定」で「管理者として実行」にチェックを入れます。

ただし、以下の点に注意が必要です。

Win + X メニューの挙動が異なります。
Windows 10の「Windows PowerShell(管理者)」は PowerShell 5.1(powershell.exe)を起動します。
Windows 11の「ターミナル(管理者)」は Windows Terminal を起動し、その中で設定されたデフォルトシェルが開きます。
デフォルトシェルがPowerShell 7に設定されていれば pwsh.exe が、設定されていなければ PowerShell 5.1 が起動します。

デスクトップショートカットを作成する際は、「項目の場所」に入力するコマンドが異なります。
PowerShell 5.1なら powershell、PowerShell 7なら pwsh と入力してください。

どちらのバージョンを使っているか迷ったときは、PowerShellを開いて $PSVersionTable.PSVersion を実行すると、現在のバージョンが確認できます。

管理者として実行できないときの対処法

手順通りに操作しても管理者として開けない場合、いくつかの原因が考えられます。

UACの確認ダイアログが表示されない場合

UACの通知レベルが「通知しない」に設定されていると、確認ダイアログが表示されず、昇格が行われません。

以下の手順でUACの設定を確認してください。

  1. スタートメニューで「UAC」と検索 →「ユーザーアカウント制御設定の変更」を開く
  2. スライダーが一番下(「通知しない」)になっていないか確認
  3. 上から2番目(既定値)に設定して「OK」をクリック

設定を変更した場合、PCの再起動が必要になることがあります。

「管理者として実行」の選択肢が表示されない場合

右クリックメニューに「管理者として実行」が表示されないケースには、以下の原因が考えられます。

ログインしているアカウントが標準ユーザーの場合、「管理者として実行」を選択しても、管理者アカウントのパスワード入力を求められます。
パスワードがわからない場合は、管理者アカウントの所有者に依頼する必要があります。

グループポリシーによって制限されている場合、組織のIT管理者がポリシーで昇格を無効化していることがあります。
この場合、個人では設定を変更できないため、IT管理者への相談が必要です。

企業・組織管理のPCで制限されている場合

企業や学校で管理されているPCでは、以下の制限がかかっていることがあります。

ローカル管理者アカウントが無効化されている、UAC昇格が組織のポリシーで禁止されている、PowerShell自体の実行がグループポリシーで制限されている、といったケースです。

これらはすべてIT管理者の管轄なので、まずは管理者に相談してください。

なお、管理者権限なしでもPowerShellスクリプトを実行したい場合は、実行ポリシーのスコープを CurrentUserProcess に限定する方法が使えます。

# 現在のユーザーのみにポリシーを設定(管理者権限不要)
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

# 現在のセッションのみにポリシーを設定(管理者権限不要・一時的)
Set-ExecutionPolicy RemoteSigned -Scope Process

まとめ

PowerShellを管理者として実行する方法は、検索からの右クリック、Win + Xメニュー、Win + R からの Ctrl+Shift+Enter、ピン留め、デスクトップショートカットの5つがあります。
初めての方は検索からの右クリック(方法①)、手早く操作したい方はWin + Xメニュー(方法②)がおすすめです。

管理者権限の背景には、UACという「必要なときだけ権限を昇格させる」セキュリティの仕組みがあります。
管理者権限は強力な操作が可能になるぶん、必要な場面でのみ使い、実行するコマンドの内容を理解したうえで操作することが大切です。

参考情報源

タイトルとURLをコピーしました