Ich habe das folgende funktionierende Skript, das überprüft, ob eine große Liste von Benutzern in einer CSV-Datei Mitglied einer AD-Gruppe ist und schreibt die Ergebnisse in results.csv.Wie erhalte ich eine Liste ausgewählter AD-Gruppen, zu denen eine große Liste von Benutzern gehört?
Nicht sicher, wie das Skript zu konvertieren, damit ich $group = "InfraLite"
zu $group = DC .\List_Of_AD_Groups.CSV
ändern kann.
So gibt das Skript nicht nur Übereinstimmungen für eine AD-Gruppe zurück, sondern gibt auch Übereinstimmungen für die 80 AD-Gruppen zurück, die in der List_of_AD_groups.csv ebenfalls enthalten sind. Schreiben Sie ein JA/NEIN für jede AD-Gruppe in einer neuen Spalte in der CSV (oder wenn das nicht möglich ist Erstellen einer separaten CSV-Datei für jede Gruppe mit Ergebnissen würde auch tun.
Ich könnte dies manuell durch Ändern des Wertes tun von $group
und Exportdateinamen und Wieder Ausführen des Skripts 80 mal, sondern muss eine schnelle war mit PS, dies zu tun
zB results.csv
:
NAME AD_GROUP1 AD_GROUP2 AD_GROUP80 etc etc. user1 yes no yes user2 no no yes user3 no yes no
echo "UserName`InfraLite" >> results.csv
$users = GC .\user_list.csv
$group = "InfraLite"
$members = Get-ADGroupMember -Identity $group -Recursive |
Select -ExpandProperty SAMAccountName
foreach ($user in $users) {
if ($members -contains $user) {
echo "$user $group`tYes" >> results.csv
} else {
echo "$user`tNo" >> results.csv
}
}