Benutzer mit den meisten Antworten
Deaktivierte User filtern und aus entsprechenden Gruppen löschen

Frage
-
Hallo zusammen,
ich habe folgendes Problem:
Ich habe diverse AD-Gruppen, die ich zusammengefasst in einem Powershellscript überprüfen will, ob dort deaktivierte User enthalten sind und wenn ja diese aus den Gruppen entfernen.
Das Auslesen der deaktivierten User bekomme ich hin, nur diese dann aus den Gruppen entfernen funktioniert nicht so wie ich mir das vorstelle, wahrscheinlich habe ich nur einen kleinen Denkfehler.
Wenn ich die deaktivierten User aus einer bestimmten Gruppe löschen will klappt dies und ich nehme folgenden Befehl:
Get-ADGroupMember -Identity "BEISPIEL_GRUPPE" | Get-ADUser | Where-Object {$_.Enabled -eq $False} | ForEach-Object {Remove-ADGroupMember -Identity "BEISPIEL_GRUPPE" -Members $_ -Confirm:$false}
Ich möchte das löschen aber wie folgt umsetzen:
get-adgroup -filter {name -like "*BEISPIEL*"} | Get-ADGroupMember | Get-ADUser | Where-Object {$_.Enabled -eq $False}
Über den genannten Befehl habe ich alle "BEISPIEL" Gruppen ausgelesen und die darin befindlichen deaktivierten User.
Nun möchte ich die ausgelesenen User aus den gesamten "BEISPIEL" Gruppen löschen. Ich habe es versucht über eine Variable und direkte Befehle aber komme leider nicht zum gewünschten Ergebnis.
Antworten
-
Hallo B_Sebastian!
So müsste es gehen (ungetestet):
Get-ADGroup -filter {Name -like '*BEISPIEL*'} | ForEach-Object { # Das Objekt der Gruppe die aktuell verarbeitet wird, befindet sich in der automatisch generierten Variable $_ $Gruppe = $_ $Gruppe | Get-ADGroupMember | Get-ADUser | Where-Object {$_.Enabled -eq $False} | ForEach-Object { Remove-ADGroupMember -Identity $Gruppe.DistinguishedName -Members $_ -Confirm:$false } }
PowerShell Artikel, Buchtipps und kostenlose PowerShell Tutorials + E-Books
auf der deutschsprachigen PowerShell Community
Mein 21 Teiliger PowerShell Video Grundlehrgang
Deutsche PowerShell Videos auf Youtube
Folge mir auf:
Twitter | Facebook | Google+- Als Antwort markiert B_Sebastian Montag, 25. August 2014 08:31
Alle Antworten
-
Hallo B_Sebastian!
So müsste es gehen (ungetestet):
Get-ADGroup -filter {Name -like '*BEISPIEL*'} | ForEach-Object { # Das Objekt der Gruppe die aktuell verarbeitet wird, befindet sich in der automatisch generierten Variable $_ $Gruppe = $_ $Gruppe | Get-ADGroupMember | Get-ADUser | Where-Object {$_.Enabled -eq $False} | ForEach-Object { Remove-ADGroupMember -Identity $Gruppe.DistinguishedName -Members $_ -Confirm:$false } }
PowerShell Artikel, Buchtipps und kostenlose PowerShell Tutorials + E-Books
auf der deutschsprachigen PowerShell Community
Mein 21 Teiliger PowerShell Video Grundlehrgang
Deutsche PowerShell Videos auf Youtube
Folge mir auf:
Twitter | Facebook | Google+- Als Antwort markiert B_Sebastian Montag, 25. August 2014 08:31