Hvordan definerer du en PowerShell-funktion, der kræver højde?
PowerShell kan være yderst nyttig til mange daglige opgaver, som det er, men hvis du skal tilpasse nogle funktioner med en smule sikkerhed, så hvordan definerer du en funktion, så den kræver højde? Dagens SuperUser Q & A-indlæg har svaret på en nysgerrig læsers spørgsmål.
Dagens Spørgsmål & Svar session kommer til os med venlig hilsen af SuperUser-en underafdeling af Stack Exchange, en community-driven gruppe af Q & A-websteder.
Spørgsmålet
SuperUser-læser Vlastimil ønsker at vide, hvordan man definerer en PowerShell-funktion, der kræver højde:
Da jeg ikke kan finde nogen alternativer til Linux sudo elevation kommando, jeg har følgende spørgsmål. Hvordan definerer jeg en PowerShell-funktion, der kræver højde, som ved aktivering af en UAC-prompt på mit Windows 8.1 Pro, 64-bit-system? Sig for eksempel, at jeg kører følgende funktion:
Med følgende resultater:
For at være helt klart, hvis jeg kører PowerShell som "bruger", skal du køre ovennævnte funktion systemniveau kontrol, Jeg vil have funktionen til at hæve for at kunne udføre kommandoen (jeg vil have UAC-prompten til at dukke op).
Hvordan definerer du en PowerShell-funktion, der kræver højde?
Svaret
SuperUser bidragyder Ashton har svaret for os:
At køre en bestemt kommando fra et forhøjet vindue:
For eksempel:
At køre et specifikt script fra et forhøjet vindue:
At køre en hel PowerShell-session, der beder UAC:
En funktion at vende tilbage $ Sandt eller $ False hvis det aktuelle vindue kører med forhøjede tilladelser:
For at sikre at et script kun kører som administrator, tilføj dette til begyndelsen:
I PowerShell v4.0 kan ovenstående forenkles ved at bruge en #Kræver udmelding:
Kilde: Kør med forhøjede tilladelser [SS64.com]
Har du noget at tilføje til forklaringen? Lyde af i kommentarerne. Vil du læse flere svar fra andre tech-savvy Stack Exchange brugere? Tjek den fulde diskussionstråd her.