Hur definierar du en PowerShell-funktion som kräver höjning?
PowerShell kan vara extremt användbar för många dagliga uppgifter, men om du behöver tweak vissa funktioner med lite säkerhet i åtanke, hur definierar du en funktion så att den kräver höjning? Dagens SuperUser Q & A inlägg har svaret på en nyfiken läsarens fråga.
Dagens Question & Answer-session kommer till oss med tillstånd av SuperUser-en indelning av Stack Exchange, en community-driven gruppering av Q & A-webbplatser.
Frågan
SuperUser-läsare Vlastimil vill veta hur man definierar en PowerShell-funktion som kräver höjning:
Eftersom jag inte kan hitta några alternativ till Linux sudo höjdkommando, har jag följande fråga. Hur definierar jag en PowerShell-funktion som kräver höjning, som vid aktivering av en UAC-prompten på mitt Windows 8.1 Pro, 64-bitars system? Till exempel, säg att jag kör följande funktion:
Med följande resultat:
För att vara helt klar, om jag kör PowerShell som "användare", kör sedan den ovan nämnda funktionen systemkontroll, Jag vill att funktionen ska höjas för att kunna utföra kommandot (jag vill att UAC-snabbmeddelandet ska visas).
Hur definierar du en PowerShell-funktion som kräver höjning?
Svaret
SuperUser-bidragsgivaren Ashton har svaret för oss:
För att köra ett specifikt kommando från ett förhöjt fönster:
Till exempel:
Att köra ett specifikt skript från ett förhöjt fönster:
För att köra en hel PowerShell-session som uppmanar UAC:
En funktion att återvända $ Sann eller $ False om det aktuella fönstret körs med förhöjda behörigheter:
För att säkerställa att ett skript endast körs som administratör, lägg till det här till början:
I PowerShell v4.0 kan ovanstående förenklas genom att använda en #Kräver påstående:
Källa: Kör med förhöjda behörigheter [SS64.com]
Har du något att lägga till förklaringen? Ljud av i kommentarerna. Vill du läsa mer svar från andra tech-savvy Stack Exchange-användare? Kolla in hela diskussionsgängan här.