Ein Problem, das unter Powershell immer wieder auftritt: Man ist als Admin angemeldet, aber die Powershell Konsole startet im nicht privilegierten Modus. Man muss diese mit dem Zusatz “Run as Administrator” starten. Dann aber hat man sein Userprofil nicht mehr zur Verfügung. Zum Beispiel Shares. Es gibt aber die Möglichkeit einen “sudo” Befehl wie in Unix/Linux Systemen zu definieren.
Hier ein Codeschnipsel von Peter Provost auf Poshcode.org.
function elevate-process { $file, [string]$arguments = $args; $psi = new-object System.Diagnostics.ProcessStartInfo $file; $psi.Arguments = $arguments; $psi.Verb = "runas"; $psi.WorkingDirectory = get-location; [System.Diagnostics.Process]::Start($psi); } set-alias sudo elevate-process;
Diesen Code muss man dem persönlichen Profile Script zufügen.
Links
- Poshcode.org – elevate process (sudo)
- AI NO TENSHi – sudo for Powershell
- Microsoft Technet – Understanding the Six PowerShell Profiles
- Jeff Wouters – Having some fun with UAC and Powershell
- maxt2posh – Working with PowerShell Profiles (on 64 bit Computers)