Rechte von Rollen ermitteln

Eine Rolle ist ja im eigentlichen Sinne nichts anderes, als eine Untermenge der verfügbaren Berechtigungen beziehungsweise Permissions, der für eine erleichterte Identifikation ein Name zugewiesen wurde. In diesem Abschnitt wird beschrieben, wie die einer Rolle zugeordneten Rechte ermittelt werden können.


Beispiele:


Hinweis: Voraussetzung für die Beispiele ist ein verbundenes PowerShell-Laufwerk.


Zunächst muss das Rollen-Objekt der zu betrachtenden Rolle abgerufen werden - dies geschieht über das Get-EmdbRole-Cmdlet Danach können die mit dieser Rolle assoziierten Objekte über die GetAssociatedItems()-Methode abgerufen werden. Im Beispiel wird die Rolle "Packaging Manager" verwendet:


$MyRole = Get-EmdbRole "Packaging Manager"

$MyRole.GetAssociatedItems()


Das Ergebnis dieses Kommandos ist ein Array aus Permission-, Benutzer- und Externen Gruppen-Objekten. Um nun nur die gesuchten Permission-Objekte zu filtern, kann das Where-Object-Cmdlet verwendet werden:


$MyRole.GetAssociatedItems() | Where-Object {$_.Type -eq "Right"}


Alternativ und kürzer können die einer Rolle zugeordneten Tasks auch ermittelt werden, indem die GetAssociatedItems()-Methode mit dem Argument "RolePermissions" aufgerufen wird.


$MyRole.GetAssociatedItems("RolePermissions")


Hinweis: das in früheren Versionen genutzte Argument RoleTasks funktioniert ab DSM 2014.1 nicht mehr.


Hinweis: Beachten Sie, dass Rollen keine Objekte des Kontextes rootDSE sind und sie somit ohne vollqualifizierten bzw. absoluten Pfad zugreifbar sind.