Powershell sudo

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