2017-04-30 2 views
-1

ich das folgende Skript habe, ich brauche auch eine verschachtelte Gruppe zu bekommen, um abzufragen, ob ein solches vorhanden ist und wenn ja, haben die verschachtelte groupid und die verschachtelten Gruppennamen unten in dem Export aufgenommen, wenn eine verschachtelte Gruppe existiert sie nicht Ich muss es mit einer leeren GUID ausfüllen.AD Abfrage muss Gruppeninformationen verschachtelt

Dies ist, was ich unten haben.

$OU | 
    ForEach { 
    $countUser = (Get-ADGroupMember $group.DistinguishedName).Count 
    Get-ADGroup -Filter * -Properties ManagedBy, DistinguishedName, objectGUID -SearchBase $_ 
    } | ForEach-Object { 
    $managedBy = $_.managedBy; 
    $DistinguishedName = $_.DistinguishedName; 
    $GroupID = $_.objectGUID; 

    if ($managedBy -ne $null) { 
     $manager = (Get-ADUser -Identity $managedBy -Properties emailAddress, sn, displayName); 
     $managerName = $manager.Name; 
     $displayName = $manager.displayName 
     $managerEmail = $manager.emailAddress; 
     $managerID = $manager.objectGUID; 
     $managerFName = $manager.givenName; 
     $managerLName = $manager.sn; 
     $managerDesc = $manager.description; 
     $managertype = $manager.employeeType; 
     $managerDistinguishedName = $manager.DistinguishedName; 
    } else { 
     $managerName = ''; 
     $managerEmail = ''; 
     $managerID = '00000000-0000-0000-0000-000000000000'; 
     $managerFName = ''; 
     $managerLName = ''; 
     $managerDesc = ''; 
     $managertype = ''; 
    } 
    Write-Output $_; 
    } | 
    Select-Object @{n='TASKIDID';e={$TaskID}}, @{n='GroupID';e={$GroupID}}, 
    @{n='Group Name';e={$_.Name}}, @{n='ManagerID';e={$managerID}}, 
    @{n='displayName';e={$displayName}}, 
    @{n='Managed By Email';e={$managerEmail}}, 
    @{n='Description';e={$managerDesc}}, 
    @{n='GroupDistinguishingName';e={$DistinguishedName}}, 
    @{n='managerDistinguishedName';e={managerDistinguishedName}} | 
    Export-Csv c:\aatest\_GetGroupOwners.csv -NoTypeInformation 
+0

Wie viele Ebenen tief? Nur einer? –

+0

* „Ich muss auch eine verschachtelte Gruppe erhalten abfragen, wenn ein solches vorhanden ist“ * Verschachtelte wo? Wie überprüfen Sie seine Existenz? –

+0

Nur 1 Level runter ist alles was ich brauche –

Antwort

1

Wenn Sie nur eine Ebene müssen nach unten können Sie alle Informationen, die Sie aus dem aktuellen Objekt müssen erhalten die Schleife eingeschaltet ist.

#If group member is a group grab its info 
if($_.objectClass -eq "group"){ 
    #Do your stuff with the data in here 
    $GroupName = $_.Name 
    $GroupGUID = $_.objectGUID 
} 
Verwandte Themen