Kleine Tipps für Zwischendurch: Wird ein Skript als Administrator ausgeführt?

Diese (harmlose) Frage „verfolgt“ mich seit der ersten PowerShell-Version. Es hat eine Weile gedauert bis mir der Hintergrund klar war.

Man holt sich zuerst die aktuelle Identität über [Security.Principal.WindowsIdentity]::GetCurrent() und macht daraus ein neues WindowsPrincipal-Objekt, das für den aktuell angemeldeten Benutzer steht. Dann muss nur noch geprüft werden, ob dieser Mitglied der Administratorengruppe ist.

$WP = [Security.Principal.WindowsPrincipal]::new([Security.Principal.WindowsIdentity]::GetCurrent())
$WP.IsInRole("Administratoren")

Unter einem englischen Windows heißt die Gruppe „Administrators“, unter einem Französischen vermutlich „Le Administrateurs“ usw.

Mit der neuen statischen New-Methode, die es ab Version 5.0 bei jedem RuntimeType-Objekt gibt, wird der Aufruf noch etwas einfacher als in der Vergangenheit.

Noch einfacher wird es, wenn das Carbon-Modul geladen wurde, das mir insgesamt sehr gut gefällt. Dann genügt ein Test-AdminPrivilege.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.