Kjør forhøyede kommandoer med Sudo på Windows 11

Fra og med build 24H2 inkluderer Windows 11 en innebygdsudokommando. Denne kommandoen tillater å kjøre kommandoer som administrator direkte fra en uprivilegert (ikke-admin) CMD/PowerShell/Terminal-økt.

Som standard er sudo-kommandoen deaktivert i Windows 11. For å tillate bruk av dette verktøyet, brukAktiver sudovippebryter innInnstillinger->System->For utviklere.

Les også:Hvordan åpne forhøyet ledetekst fra standardbruker i Windows

Eller du kan aktivere sudo via Windows-registeret.

reg add "HKLMSoftwareMicrosoftWindowsCurrentVersionSudo" /v "Enabled" /t REG_DWORD /d 1 /f

Hvis du for eksempel kjører følgende PowerShell-kommando for å starte en Windows-tjeneste på nytt fra en terminal som ikke er forhøyet, vil det resultere i en feil

Restart-Service iphlpsvc

Aktiver deretter sudo i Windows-innstillingene og kjør den samme kommandoen via sudo.

sudo powershell "Restart-Service iphlpsvc"

En brukerkontokontroll (UAC) ledetekst vil vises som ber om rettighetsforhøyelse. Når det er godkjent, startes et nytt terminalvindu (atskilt fra gjeldende sesjon der konteksten allerede var etablert), og den angitte kommandoen utføres med administrative rettigheter.

I motsetning til runas, ber ikke sudo-kommandoen om et administratorpassord på kommandolinjen. UAC-ledeteksten brukes til å bekrefte og heve gjeldende brukers privilegier, men den tillater ikke å velge en annen brukerkonto for elevasjon.

På samme måte kan du bruke Sudo i CMD-ledeteksten. Jeg prøver å stoppe tjenesten ved å bruke en ikke-admin (ikke-forhøyet) ledetekst.

net stop iphlpsvc

System error 5 has occurred.
Access is denied.

Nå kjører jeg den samme kommandoen via sudo:

sudo net stop iphlpsvc

Tidligere krevde å kjøre et program eller kommando med forhøyede tillatelser fra en ikke-privilegert konsoll å starte et nytt ledetekstvindu ved å bruke "Kjør som administrator”-alternativet. Hvis PowerShell-konsollen kjørte i ikke-admin-modus, måtte du starte en økt økt fra gjeldende økt ved å bruke denne kommandoen:

Start-Process powershell -Verb runAs

Sudo for Windows kjører apper med forhøyede rettigheter itremoduser. Disse modusene kan velges fra Innstillinger-appen eller spesifiseres fra kommandolinjen.

  • I et nytt vindu– når en kommando eller et program kjøres via sudo, åpnes det i et nytt forhøyet vindu (sesjon), som kjører som administrator. Dette er standard oppførsel.sudo config --enable forceNewWindow
  • Med inndata deaktivert –dette er det sikreste alternativet, der kommandoen kjører med forhøyede rettigheter i det gjeldende vinduet, men kan ikke motta eller be om brukerinndata i den økten:sudo config --enable disableInput
  • Inline– denne modusen ligner mest på oppførselen til sudo-kommandoen i Linux og andre operativsystemer. En forhøyet kommando kjører i gjeldende konsoll og kan motta input fra den (det mest praktiske, men minst sikre alternativet):sudo config --enable normal

Du kan kjøre en forhøyet kommando i gjeldende konsoll ved å bruke sudo, uavhengig av gjeldende sudo-modus. Bare legg tilinlinealternativ.

sudo --inline net stop iphlpsvc

For å se hele listen over støttede sudo-alternativer og parametere i Windows, kjør følgende kommando:

sudo -h

Related Posts