Hjemmeside » hvordan » Hvordan definerer du en PowerShell-funksjon som krever høyde?

    Hvordan definerer du en PowerShell-funksjon som krever høyde?

    PowerShell kan være ekstremt nyttig for mange daglige oppgaver som det er, men hvis du trenger å justere noen funksjoner med litt sikkerhet i tankene, så hvordan definerer du en funksjon slik at den krever høyde? Dagens SuperUser Q & A innlegg har svaret på en nysgjerrig leser spørsmål.

    Dagens Spørsmål & Svar-sesjon kommer til oss med høflighet av SuperUser-en underavdeling av Stack Exchange, en fellesskapsdrevet gruppering av Q & A-nettsteder.

    Spørsmålet

    SuperUser-leser Vlastimil ønsker å vite hvordan man definerer en PowerShell-funksjon som krever høyde:

    Siden jeg ikke finner noen alternativer til Linux sudo forhøyningskommando, har jeg følgende spørsmål. Hvordan definerer jeg en PowerShell-funksjon som krever høyde, som ved aktivering av en UAC-ledetekst på min Windows 8.1 Pro, 64-biters system? For eksempel, si at jeg kjører følgende funksjon:

    Med følgende resultater:

    For å være helt klar, hvis jeg kjører PowerShell som "bruker", kjør du førstnevnte funksjon system-sjekk, Jeg vil at funksjonen skal løfte for å kunne utføre kommandoen (jeg vil at UAC-meldingen skal vises).

    Hvordan definerer du en PowerShell-funksjon som krever høyde?

    Svaret

    SuperUser-bidragsyter Ashton har svaret for oss:

    Å kjøre en bestemt kommando fra et forhøyet vindu:

    For eksempel:

    Slik kjører du et bestemt skript fra et forhøyet vindu:

    Å kjøre en hel PowerShell-sesjon som ber om UAC:

    En funksjon å returnere $ Sann eller $ False hvis det nåværende vinduet kjører med forhøyede tillatelser:

    For å sikre at et skript bare kjøres som Admin, legg dette til i begynnelsen:

    I PowerShell v4.0 kan ovennevnte forenkles ved å bruke en #Requires uttalelse:

    Kilde: Kjør med forhøyede tillatelser [SS64.com]


    Har du noe å legge til forklaringen? Lyder av i kommentarene. Vil du lese flere svar fra andre tech-savvy Stack Exchange-brukere? Sjekk ut hele diskusjonstråden her.