※本ページにはプロモーション(広告)が含まれています
「Windows 11でもsudoが使えるようになった」という話を聞いたことはありますか?
2024年にリリースされたWindows 11バージョン24H2から、LinuxやmacOSで長年使われてきた「sudo(スードゥ)」コマンドがWindowsに正式搭載されました。これはWindowsのコマンドライン操作を大きく変える可能性を秘めた機能です。
これまでWindowsで管理者権限が必要な操作をする場合、「管理者として実行」でターミナルを別途開いたり、UACダイアログを操作したりと、少し面倒でした。sudoを使えば、通常の権限で開いたターミナルから、特定のコマンドだけを管理者権限で実行できるようになります。
この記事では、Windows 11のsudoコマンドの概要から有効化方法、実際の使い方、注意点まで、初心者の方にもわかりやすく丁寧に解説します。
この記事でわかること
- Windows 11のsudoとはどんな機能か(Linuxのsudoとの違い)
- Windows sudoの3つの動作モードと使い分け方
- sudoを有効化する具体的な手順
- PowerShellとコマンドプロンプトでの実際の使用例
- セキュリティ上の注意点とよくあるエラーの対処法

Windows sudoとは?Linuxのsudoとの違い
sudoの基本概念
「sudo」は英語の「Substitute User DO」の略で、元々はLinux/Unix系のOSで使われてきたコマンドです。通常のユーザー権限で作業しながら、特定のコマンドだけを管理者(スーパーユーザー)権限で実行できる仕組みです。
Windowsでは従来、管理者権限が必要なコマンドを実行するには次のような手順が必要でした。
- PowerShellやコマンドプロンプトを「管理者として実行」で起動する
- UACダイアログ(「このアプリがデバイスに変更を加えることを許可しますか?」)で「はい」を選ぶ
- 管理者権限で開いたウィンドウでコマンドを実行する
sudoが使えるようになると、通常権限のターミナルのまま、コマンドの先頭に「sudo」と付けるだけで管理者権限を一時的に借りて実行できます。
Linux版とWindows版のsudoの違い(比較表)
Linux(本家)のsudoとWindows 11のsudoは名前こそ同じですが、動作にはいくつかの重要な違いがあります。
| 比較項目 | Linux sudo | Windows 11 sudo |
|---|---|---|
| パスワード認証 | ユーザーパスワードを入力して認証 | UACプロンプト(ダイアログ)で認証 |
| セッションキャッシュ | 一定時間(通常15分)はパスワード不要 | 毎回UACダイアログが表示される(モード依存) |
| 設定ファイル | /etc/sudoers で細かく制御可能 | 設定ファイルなし(シンプル) |
| 動作モード | 単一の動作(同一セッション内) | 3つの動作モードを選択可能 |
| stdin(標準入力) | 通常はサポート | 一部モードでは非サポート |
| 環境変数の継承 | 設定で制御可能 | プロセス分離(環境変数は一部引き継がれない) |
| 使用可能OS | Linux / macOS / Unix系全般 | Windows 11 バージョン24H2以降のみ |
Windows版sudoはLinux版と比べるとシンプルですが、Windowsの権限管理(UAC)の仕組みに合わせた実装になっています。完全に同じではないので、Linux経験者の方はこの違いを把握しておくと混乱が少なくなります。
どのバージョンのWindows 11で使えるか?
Windows 11のsudo機能を使うには、バージョン24H2以降が必要です。
- 利用可能: Windows 11 バージョン24H2(2024年10月リリース)以降
- 利用不可: Windows 11 バージョン23H2以前、Windows 10
現在のバージョンを確認するには、[Win]+[R]キーを押して「winver」と入力して実行します。表示されたダイアログで「バージョン 24H2」と書かれていれば利用可能です。
Windows sudoの3つの動作モード解説
Windows 11のsudoには、コマンドをどのように実行するかを選べる3つの動作モードがあります。それぞれの特徴と使い分けを理解しましょう。
モード1: 新しいウィンドウで実行(forceNewWindow)
管理者権限で新しいターミナルウィンドウを開いてコマンドを実行するモードです。
特徴:
- 最もセキュアな動作
- 現在のターミナルウィンドウとは完全に分離されて実行される
- 標準入力(stdin)は使えない(インタラクティブな入力は不可)
- コマンドの出力が新しいウィンドウに表示される
向いているシーン: セキュリティを重視したい場合、インタラクティブな管理者コンソールを開きたい場合
モード2: 入力なしでインライン実行(disableInput)
現在のターミナルにインラインで出力しつつ、標準入力(stdin)を無効化したモードです。
特徴:
- コマンドの出力が現在のターミナルウィンドウに表示される
- 標準入力(stdin)は無効(キーボード入力を受け付けるコマンドは使えない)
- スクリプトやパイプでの自動化に向いている
向いているシーン: 出力を現在のターミナルで確認したい、かつ入力が不要なコマンドを実行する場合
モード3: インライン実行(normal)
現在のターミナルと完全に統合された形でコマンドを実行するモードです。
特徴:
- Linux版sudoに最も近い動作
- 標準入力(stdin)も使える
- コマンドの出力が現在のターミナルウィンドウに表示される
- パイプ(|)やリダイレクト(>)も使える
- 若干セキュリティリスクが高いが利便性は最も高い
向いているシーン: Linux的なsudo体験を求める方、インタラクティブな管理者コマンドを実行したい場合
3つのモードの比較まとめ
| モード | 設定名 | 出力先 | stdin | セキュリティ |
|---|---|---|---|---|
| 新しいウィンドウで実行 | forceNewWindow | 新しいウィンドウ | 不可 | 最高 |
| 入力なしで実行 | disableInput | 現在のウィンドウ | 不可 | 高 |
| インライン(normal) | normal | 現在のウィンドウ | 可 | 中 |
初めて使う方には「インライン(normal)」モードがLinuxのsudoに近く、使いやすいのでおすすめです。
sudoを有効化する方法(設定 > システム > 開発者向け設定)
Windows 11のsudoはデフォルトでは無効になっています。使う前に設定から有効化が必要です。GUIとコマンドラインの両方の方法を説明します。
方法1: 設定画面から有効化(GUIで操作)
設定アプリからsudoを有効化する手順です。最もわかりやすい方法です。
手順1: [Win]キーを押してスタートメニューを開き、「設定」を選択するか、[Win]+[I]キーで設定アプリを直接開きます。
手順2: 左側のメニューから「システム」をクリックします。
手順3: 右側のリストを下にスクロールして「開発者向け設定」を見つけてクリックします。
手順4: 開発者向け設定ページが開いたら、「sudo の有効化」という項目を探します。
手順5: 「sudoを有効にする」のトグルスイッチをクリックしてオンにします。
手順6: トグルをオンにすると、下にsudoの動作モード選択が表示されます。3つのモードから選んでください。
- 「新しいウィンドウで実行」
- 「入力なしで実行」
- 「インライン」(推奨)
選択したら設定は即座に反映されます。PCの再起動は不要です。
方法2: コマンドラインから有効化(PowerShellで操作)
管理者権限のPowerShellから1行のコマンドで有効化する方法もあります。スクリプト化したい場合や、設定画面を開かずに素早く操作したい場合に便利です。
まず、PowerShellを管理者として起動します(スタートメニューで「PowerShell」を右クリックして「管理者として実行」)。
次のコマンドを実行してsudoを有効化します。
# sudoを有効化してモードを「インライン」に設定 sudo config --enable normal
他のモードで有効化したい場合は次のコマンドを使います。
# 新しいウィンドウで実行モードで有効化 sudo config --enable forceNewWindow # 入力なしでインライン実行モードで有効化 sudo config --enable disableInput
設定の確認は次のコマンドで行えます。
# 現在のsudo設定を確認 sudo config
有効化後の確認
sudoが正しく有効化されたか確認するには、通常権限のPowerShellかコマンドプロンプト(管理者として起動ではない通常のもの)で次を実行します。
sudo whoami
「Administrator」や「NT AUTHORITY\SYSTEM」と表示されれば正常に動作しています。

sudoコマンドの基本的な使い方と実例
基本構文
sudoコマンドの基本的な書き方はシンプルです。
sudo [オプション] コマンド [引数]
例えば、管理者権限でメモ帳を起動するには次のように書きます。
sudo notepad
hostsファイルのような管理者権限が必要なファイルを編集したい場合は次のようにします。
sudo notepad C:\Windows\System32\drivers\etc\hosts
実用的な使用例一覧
| やりたいこと | コマンド例 |
|---|---|
| hostsファイルをメモ帳で開く | sudo notepad C:\Windows\System32\drivers\etc\hosts |
| Windowsサービスを停止 | sudo net stop "サービス名" |
| ネットワーク設定を変更 | sudo netsh interface ip set address ... |
| システムファイルをコピー | sudo copy ファイル名 C:\Windows\System32\ |
| ユーザーを追加 | sudo net user 新ユーザー名 パスワード /add |
| 管理者グループにユーザー追加 | sudo net localgroup administrators ユーザー名 /add |
| Windowsのシステム情報を取得 | sudo systeminfo |
| ポートのリッスン状態を確認 | sudo netstat -ano |
| タスクスケジューラを管理者で開く | sudo taskschd.msc |
| ディスクチェックのスケジュール設定 | sudo chkdsk C: /f |
動作モードをコマンドで指定する方法
設定で選んだデフォルトのモードではなく、コマンドごとにモードを切り替えることもできます。
# 新しいウィンドウで実行(--new-window または -n) sudo --new-window コマンド sudo -n コマンド # 入力なしでインライン実行(--disable-input または -d) sudo --disable-input コマンド sudo -d コマンド # インライン実行(デフォルトがインラインの場合は省略可能) sudo コマンド
PowerShellとコマンドプロンプトでの活用例
PowerShellでのsudo活用
PowerShellはWindowsの高度な管理操作に向いています。sudoと組み合わせることで、通常権限のセッションのまま強力な管理操作が行えます。
例1: Get-Process で全プロセスを詳細表示(管理者情報が必要なもの)
sudo powershell -Command "Get-Process | Sort-Object CPU -Descending | Select-Object -First 10"
例2: Windowsの機能を有効化・無効化(Enable-WindowsOptionalFeature)
# Hyper-Vを有効化(例) sudo powershell -Command "Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All"
例3: レジストリの書き込み
# レジストリキーを作成(管理者権限が必要な場所) sudo powershell -Command "New-Item -Path 'HKLM:\SOFTWARE\MyApp' -Force"
例4: ファイルのアクセス権を変更(icacls)
sudo icacls "C:\SomeProtectedFolder" /grant Users:F
コマンドプロンプトでのsudo活用
コマンドプロンプト(cmd.exe)でも同様にsudoが使えます。
例1: サービスの開始・停止
# Windowsサービスを停止する sudo net stop wuauserv # Windowsサービスを開始する sudo net start wuauserv
例2: ポートのファイアウォールルールを追加
sudo netsh advfirewall firewall add rule name="MyAppPort" dir=in action=allow protocol=TCP localport=8080
例3: ホストファイルにエントリを追加(echo でリダイレクト)
注意: インライン(normal)モードが必要です。
sudo cmd /c "echo 127.0.0.1 example.local >> C:\Windows\System32\drivers\etc\hosts"
例4: ディスクパーティション操作(diskpart)
sudo diskpart
スクリプトでのsudo活用(自動化例)
PowerShellスクリプト(.ps1ファイル)内でsudoを呼び出すことも可能ですが、スクリプト全体を管理者で実行するよりも、必要なコマンドだけにsudoをつける設計が望ましいです。
# メンテナンススクリプト例(一部の操作だけsudo) Write-Host "通常の情報収集..." Get-Date Get-ComputerInfo | Select-Object WindowsVersion Write-Host "管理者権限が必要な操作..." sudo net stop wuauserv sudo net start wuauserv Write-Host "完了"

sudo使用時の注意点とセキュリティ
注意点1: sudoが使えるのは管理者グループのユーザーのみ
Windows 11のsudoは管理者グループ(Administratorsグループ)のメンバーだけが使用できます。一般ユーザー(標準ユーザー)アカウントでsudoを実行しようとするとエラーになります。
これはLinuxのsudoとは異なる点です。Linuxでは/etc/sudoersファイルで一般ユーザーにもsudo権限を付与できますが、Windows版では管理者グループのメンバーシップが前提です。
注意点2: UACは完全にはバイパスされない
Windows 11のsudoを使っても、UACは完全にはバイパスされません。特にモード設定によっては、sudoを実行するたびにUACプロンプト(「このアプリがデバイスに変更を加えることを許可しますか?」)が表示されます。
これはセキュリティを保つための仕様です。Linuxのsudoのようにパスワードを入力するのではなく、Windowsのセキュリティ機構(UAC)と連動して動作します。
注意点3: インライン(normal)モードは慎重に使う
3つのモードのうち「インライン(normal)」モードは最も利便性が高い反面、他のプロセスが現在のターミナルセッションに影響を与えられる可能性があります。
Microsoft自身もnormalモードについて「セキュリティ上のトレードオフがある」と説明しています。
- 信頼できる開発環境やローカル環境での作業では「インライン(normal)」が便利
- 企業のセキュリティポリシーが厳しい環境では「新しいウィンドウで実行」モードが推奨
注意点4: 全てのコマンドがsudoで動作するわけではない
sudoはプロセスを新たに起動する仕組みなので、ターミナル自体の設定を変える操作や、環境変数の変更はsudoでは反映されません。
例えば、次のような操作はsudoでは意図通りに動作しません。
# これは期待通りに動作しない(カレントディレクトリが変わらない) sudo cd C:\Windows\System32 # 環境変数の変更も現在のセッションには反映されない sudo set MY_VAR=hello
これらの操作は、管理者権限のターミナルを別途開いて実行する必要があります。
注意点5: スクリプトの自動実行には注意
CI/CDパイプラインや無人スクリプトでsudoを使うと、UACプロンプトで処理が止まってしまうことがあります。自動化環境では、タスクスケジューラや専用のサービスアカウントを使う方が適切です。
セキュリティのベストプラクティス
- 必要なコマンドだけをsudoで実行する: 管理者権限のターミナルを長時間開きっぱなしにしない
- 組織環境ではポリシーを確認する: 企業によってはsudoの使用が制限されている場合がある
- sudoを含むスクリプトの共有に注意: 悪意あるスクリプトにsudoが含まれていると管理者権限で実行されてしまう
- UACの通知レベルを下げない: sudoの使い勝手のためにUACを無効化するのは危険
よくあるエラーと対処法
エラー1: 「’sudo’ は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
原因: Windows 11のバージョンが24H2未満か、sudoが有効化されていない
対処法:
- まず「winver」コマンドでバージョンを確認する
- バージョン24H2未満の場合はWindowsUpdateでアップデートする
- バージョンが24H2以上なら、設定 > システム > 開発者向け設定でsudoを有効化する
エラー2: 「このコマンドを実行する権限がありません。」
原因: 現在ログインしているユーザーが管理者グループに属していない
対処法:
- 管理者アカウントでログインし直す
- あるいは、管理者権限を持つユーザーに依頼してアカウントを管理者グループに追加してもらう
# 管理者アカウントで実行して、自分のアカウントをAdministratorsに追加 net localgroup administrators ユーザー名 /add
エラー3: UACプロンプトが表示されない(sudoがすぐ失敗する)
原因: グループポリシーでUACまたはsudoが制限されている可能性がある
対処法:
- 企業ドメインに参加しているPCの場合、グループポリシーでsudoが制限されていることがある
- IT管理者に相談して、sudoの使用が許可されているか確認する
エラー4: 「新しいウィンドウで実行」モードでウィンドウがすぐ閉じる
原因: コマンドの実行が完了するとウィンドウが自動的に閉じる(仕様通りの動作)
対処法:
- コマンドの最後に
&& pauseを付けて出力を確認できるようにする - またはモードを「インライン」に変更して現在のウィンドウで出力を確認する
# コマンド後に一時停止(ウィンドウが閉じるのを防ぐ) sudo cmd /c "dir C:\Windows\System32 && pause"
エラー5: stdineが必要なコマンドが動かない
原因: 「新しいウィンドウで実行」または「入力なしで実行」モードではstdinが無効
対処法:
- 設定で動作モードを「インライン(normal)」に変更する
- または
sudo config --enable normalでモードをnormalに切り替える
エラー6: パイプがうまく動作しない
原因: パイプ(|)を使う場合、インライン(normal)モードが必要
対処法:
# インラインモードでパイプを使う sudo cmd /c "netstat -ano | findstr :80"
よくある質問(FAQ)
Q1: Windows 10でもsudoは使えますか?
A: いいえ、Windows 11のバージョン24H2以降専用です。Windows 10ではsudoコマンドは使えません。Windows 10では引き続き「管理者として実行」でターミナルを起動する従来の方法を使う必要があります。
Q2: sudoを使えば毎回UACを無効化できますか?
A: いいえ、sudoはUACを無効化する機能ではありません。sudoを実行するたびにUACの確認プロセスが内部的に行われます(モードによってはプロンプトが表示されることもあります)。UACを完全にスキップしたい場合、Microsoftはそれを推奨していません。
Q3: WSL(Windows Subsystem for Linux)のsudoとは別物ですか?
A: はい、まったく別物です。WSLのsudoはLinux環境内で動作するものです。Windows 11のsudoはWindowsネイティブのターミナル(PowerShell、コマンドプロンプト)から管理者権限でWindowsコマンドを実行するためのものです。WSLを使っている場合は、WSL内ではLinuxのsudo、Windowsコマンドにはこの記事のWindows sudoを使い分けます。
Q4: sudoでPowerShell自体を管理者で起動できますか?
A: できます。次のコマンドで管理者権限のPowerShellウィンドウを起動できます。
sudo powershell
ただし「新しいウィンドウで実行」モードや「インライン」モードで動作が変わります。完全な管理者セッションが必要なら、新しいウィンドウで実行するモードが向いています。
Q5: sudoはどこのフォルダにインストールされていますか?
A: sudoはWindowsのシステムディレクトリに組み込まれています。具体的には C:\Windows\System32\sudo.exe として存在しています。外部からインストールしたものではなく、OS標準のバイナリです。
Q6: 企業のPCでsudoを有効化してもいいですか?
A: 企業ドメインに参加しているPCでは、グループポリシーによってsudoが制限されていることがあります。また、IT管理者が管理する端末では勝手に設定を変更することが禁じられているケースもあります。職場のルールやIT部門のガイドラインを確認してから使用しましょう。
Q7: sudo config コマンドで設定した内容はどこに保存されますか?
A: sudoの設定はWindowsレジストリに保存されます。設定はユーザーごとに管理されており、他のユーザーアカウントには影響しません。レジストリのパスは HKCU:\Software\Microsoft\Windows\CurrentVersion\Sudo です。
Q8: sudoとRunasコマンドの違いは何ですか?
A: どちらも別のユーザー権限でコマンドを実行する機能ですが、使い勝手が異なります。
| 比較 | sudo | runas |
|---|---|---|
| 認証方法 | UAC(現在ユーザーで昇格) | 別ユーザーのパスワード入力 |
| ユーザー切り替え | 不可(現在ユーザーで昇格) | 他のユーザーに切り替え可能 |
| 使いやすさ | シンプル(コマンドの前にsudo) | やや複雑(/user:ユーザー名の指定が必要) |
| Windows歴 | Windows 11 24H2から | Windows 2000から存在 |
まとめ
Windows 11バージョン24H2で搭載されたsudoコマンドは、Windowsのコマンドライン作業を大きく効率化する便利な機能です。
この記事で解説した内容を振り返ります。
- sudoとは: 通常権限のターミナルから特定のコマンドだけ管理者権限で実行できる機能
- LinuxとWindowsのsudoの違い: Windows版はUAC認証を使い、設定ファイルなしでシンプルな実装
- 3つの動作モード: 「新しいウィンドウ」「入力なし」「インライン(normal)」から選択可能
- 有効化方法: 設定 > システム > 開発者向け設定から、またはコマンドラインから
sudo config --enableで設定 - 活用例: hostsファイル編集、サービス管理、ネットワーク設定など多岐にわたる
- 注意点: 管理者グループのユーザーのみ使用可能。インラインモードはセキュリティに注意
Linuxやmacに慣れた開発者の方には馴染みやすい機能ですが、Windows独自の仕様(UACとの連携、モードの概念)を理解した上で使うことが重要です。
特に開発作業やシステム管理を頻繁に行う方にとって、sudoはターミナル操作のストレスを大きく減らしてくれる機能です。まずはsudoを有効化して、簡単なコマンドから試してみてください。
sudo whoami — 管理者として実行されていることを確認sudo notepad C:\Windows\System32\drivers\etc\hosts — hostsファイルを編集sudo net stop wuauserv — Windows Updateサービスを一時停止(テスト用)
minto.tech スマホ(Android/iPhone)・PC(Mac/Windows)の便利情報をお届け! 月間アクセス160万PV!スマートフォン、タブレット、パソコン、地デジに関する素朴な疑問や、困ったこと、ノウハウ、コツなどが満載のお助け記事サイトはこちら!