Aktivierte AD-Gruppe Mitglieder mehrerer Gruppen

Aktivierte AD-Gruppe Mitglieder mehrerer Gruppen

Ich versuche, nur aktivierte Mitglieder abzurufen, die in mehreren Gruppen sind, bin mir aber nicht sicher, wie ich dies im gewünschten Format erreichen kann. Mein aktuelles Skript sieht wie folgt aus.

$GroupList = @('GroupA','GroupB'
 )

$Groupusers  = @()

foreach ($Groups in $GroupList)
{

    $Groupusers += Get-ADGroupMember -Identity $Groups | select @{Name="Groups";Expression={$Groups}},name
}

$Groupusers | Export-Csv -Path "C:\Users\Me\Documents\users.csv" -NoTypeInformation -Encoding Unicode

Das obige Skript funktioniert und formatiert die Ausgabe für mein Ziel, schließt aber auch die deaktivierten Benutzer ein.

Ausgabe:

Gruppenname


GruppeA BenutzerA
GruppeB BenutzerB

Ich habe das folgende Skript ausprobiert. Dadurch bekomme ich alle aktivierten Benutzer, allerdings nicht in einem Format wie das obige Skript.


$groupname = @('GroupA', 'GroupB')

$Groupusers=@()


foreach ($group in $groupname)
{

    $Groupusers += Get-ADGroupMember -Identity $group | ? {$_.objectclass -eq "user"}
}

$result= @()

foreach ($activeusers in $Groupusers) 

{ 

$result += (Get-ADUser -Identity $activeusers | ? {$_.enabled -eq $true} | select Name, Enabled) 

}

$result 

Wie kann ich die obige Ausgabe erreichen, aber nur mit aktivierten Benutzern? Danke.

Antwort1

Wenn Sie die Formatierung des ersten Skripts beibehalten möchten, sollte dies für Sie funktionieren. Erstellen Sie einfach ein zweites Array, das nur die aktivierten $groupusers enthält, und schreiben Sie nur diese Teilmenge in Ihre Ausgabedatei.

$GroupList = @('GroupA','GroupB')

$Groupusers  = @()

foreach ($Groups in $GroupList)
{

    $Groupusers += Get-ADGroupMember -Identity $Groups | select @{Name="Groups";Expression={$Groups}},name  
    
}

$activeusers = @()
foreach ($user in $Groupusers)
{
$n = $user.name
$props = get-aduser -filter "name -eq '$n'" | select samaccountname, enabled
  if ($props.enabled)
  {

    $activeusers += $user
  }
}

$activeusers | Export-Csv -Path "C:\Users\Me\Documents\users.csv" -NoTypeInformation -Encoding Unicode

verwandte Informationen