2016-10-12 1 views
1

Ich habe ein Skript versucht, die AD-Gruppen und die Gruppen innerhalb der Gruppen einen AD-Benutzer zu erhalten. Das Skript ist nicht effektiv, um eine Gruppe innerhalb einer Gruppe innerhalb eines zu finden Gruppe Ich musste mehrere foreach Schleifen verwenden. Ist es möglich, diesen Befehl effizienter/kleiner zu machen, anstatt die foreach-Schleife zu verwenden?PowerShell verschachtelte ForEach-Schleife, um AD-Untergruppen zu erhalten

Antwort

1

Sie können eine while-Schleife verwenden, um alle foreach-Schleifen zu eliminieren. Entfernen Sie auch das Cmdlet Select und verwenden Sie stattdessen die Punktnotation. All dies sollte es um etwa 25% beschleunigen.

$groups = Get-ADPrincipalGroupMembership 'testuser' 
$allGroups =$null 

While($groups){ 
    $allGroups += $groups.Name 
    $groups = $groups.Name | Get-ADPrincipalGroupMembership 
} 

$allGroups 
+0

Danke, Test und das hat funktioniert – Ralluhb

Verwandte Themen