Contents

Windows 11でsudoを使用して上昇したコマンドを実行します

Contents

350547798751

Build 24H2から始めて、Windows 11には組み込みの「Sudo」コマンドが含まれています。このコマンドにより、管理者としてコマンドを実行することを許可されていない(非admin)CMD/PowerShell/ターミナルセッションから直接実行できます。

デフォルトでは、SUDOコマンドはWindows 11で無効になっています。このツールを使用するには、Developersの設定 - > System->のEnable Sudo Toggle Switchを使用します。

/images/enable-sudo-on-windows-11.png.webp

または、Windowsレジストリを介してSudoを有効にすることができます。

reg add" hklm \ software \ microsoft \ windows \ currentversion \ sudo "/v" enabled "/t reg\_dword/d 1/f

たとえば、次のPowerShellコマンドを実行して、非エレベーションされていない端末からWindowsサービスを再起動すると、エラーが発生します。

Restart-Service IPHLPSVC

次に、Windows設定でSudoを有効にし、Sudoを介して同じコマンドを実行します。

sudo powershell" Restart-Service IPHLPSVC "

ユーザーアカウントコントロール(UAC)プロンプトが表示され、特権の昇格を要求します。承認されると、新しい端末ウィンドウが起動されます(コンテキストが既に確立されている現在のセッションとは別に)、指定されたコマンドは管理権で実行されます。

/images/sudo-uac-elevation-prompt.png.webp /images/running-elevated-powershell-command-using-sudo-in.png.webp

Runasとは異なり、Sudoコマンドはコマンドラインの管理者パスワードを求めません。 UACプロンプトは、現在のユーザーの特権を確認および昇格させるために使用されますが、標高のために別のユーザーアカウントを選択することはできません。

同様に、CMDプロンプトでSudoを使用できます。私は、非副産物(非エレベート)コマンドプロンプトを使用してサービスを停止しようとしています。

ネットストップiphlpsvc


System error 5 has occurred.Access is denied.

今、私はsudo経由で同じコマンドを実行します:

sudo net stop iphlpsvc

/images/use-sudo-command-in-cmd-prompt.png.webp

管理者として実行します

」オプション。PowerShellコンソールが非アドミンモードで実行されていた場合、このコマンドを使用して現在のセッション内から昇格したセッションを開始する必要がありました。

以前は、非具体化されたコンソールからのアクセス許可を使用してプログラムまたはコマンドを実行するには、「」オプションを使用して新しいコマンドプロンプトウィンドウを起動する必要がありました。 PowerShellコンソールが非アドミンモードで実行されていた場合、このコマンドを使用して、現在のセッション内から昇格したセッションを開始する必要がありました。

Start-Process PowerShell-Verb Runas

Sudo for Windowsは、3つのモードで特権を高めたアプリを実行します。これらのモードは、設定アプリから選択するか、コマンドラインから指定できます。

*新しいウィンドウで - コマンドまたはプログラムがsudoを介して実行されると、管理者として実行されている新しい高架ウィンドウ(セッション)で開きます。これがデフォルトの動作です。 sudo config-enable enable forcenewwindow

*入力が無効になっている場合 - これは最も安全なオプションであり、コマンドは現在のウィンドウで高い特権で実行されますが、そのセッション内でユーザー入力を受信またはプロンプトが表示できません。「sudo config– Enable disableinput」

*インライン - このモードは、Linuxおよびその他のOSSにおけるSudoコマンドの動作に最も似ています。現在のコンソールで昇格したコマンドが実行され、そこから入力を受信できます(最も便利ですが最も安全なオプション): `sudo config

enable normal

/images/sudo-modes-in-windows-11.png.webp

現在のSUDOモードに関係なく、SUDOを使用して現在のコンソールで高度なコマンドを実行できます。インラインオプションを追加するだけです。

`sudo

  • インラインネットストップiphlpsvc`

/images/sudo-inline-elevate-command-in-current-session.png.webp

WindowsでサポートされているSudoオプションとパラメーターの完全なリストを表示するには、次のコマンドを実行します。

sudo-h

/images/sudo-command-line-options-in-windows.png.webp

*÷ソースリンク:

ユーザーアカウントコントロール(UAC)プロンプト、、runas、