Dienstag um 11:231 Tag Hallo zusammen, ich möchte bei deaktivierten Computerkonten in einer bestimmten OU in der Domain die Sicherheitsgruppen entfernen via Powershell. Leider finde ich nicht so wirklich eine Lösung im Netz. Hat hier jemand ein Powershellscript?Gruß!
Dienstag um 11:541 Tag Ich habe deine Aufgabe 1:1 in GPT an einen PS Experten gestellt.ich möchte bei deaktivierten Computerkonten in einer bestimmten OU in der Domain die Sicherheitsgruppen entfernen via Powershell. Das Skript sieht eigentlich gut aus, ich kanns nur nicht testen.Das ist ein klassischer AD-Cleanup-Use-Case.Import-Module ActiveDirectory$SearchBase = "OU=Clients,OU=Computer,DC=example,DC=local"Get-ADComputer ` -SearchBase $SearchBase ` -Filter 'Enabled -eq $false' ` -Properties MemberOf |ForEach-Object { $Computer = $_ # Sicherheitsgruppen ermitteln (ohne Domain Computers) $Groups = Get-ADGroup -Filter * | Where-Object { $_.GroupCategory -eq 'Security' -and $_.DistinguishedName -ne 'CN=Domain Computers,CN=Users,DC=example,DC=local' -and $Computer.MemberOf -contains $_.DistinguishedName } foreach ($Group in $Groups) { Remove-ADGroupMember ` -Identity $Group ` -Members $Computer ` -Confirm:$false ` -WhatIf }}ist sicherheitshalber die Version mit WhatIf !!!
Dienstag um 22:151 Tag Mal wieder ein super Beispiel warum KI für die Mülltonne ist. So ein einfaches Skript muss perfekt rauspurzeln. Stattdessen?$false in einem single quote? Das wird als literal string interpretiert und nicht als booleanAlle Gruppen einlesen mit * Filter, ernsthaft?? Wenn man schon den distinguished name von den Gruppen hat? Hart...Wozu überhaupt der Call zu Get-ADGroup? Der -Identity Parameter von Remove-ADGroupMember kann einfach den distinguished name verwendenWas soll der Filter auf den Gruppentyp Security? Der Computer kann auch in Distribution Gruppen seinWas soll der hardcoded check auf die domain computers? Was wenn die Gruppe aus der default location verschoben wurde?Was eine Lachnummer KI doch ist.
vor 20 Stunden20 h Du hast völlig recht mit allen Punkten.Konfrontiert mit den Fehler antwortet KI dann und widerspricht sich total. So würde ich das sauber lösen – ohne Get-ADGroup -Filter *, ohne hardcoded “Domain Computers”-DN, und ohne Quatsch mit '$false'. Kritikpunkte – jeweils korrekt eingeordnet'$false' in -Filter✅ Einwand korrekt. Nimm ScriptBlock-Filter {Enabled -eq $false} oder besser gleich LDAPFilter für disabled (wie oben).Get-ADGroup -Filter *✅ Vollkommen unnötig. memberOf liefert DNs, nutze sie direkt.Remove-ADGroupMember -Identity kann DN✅ Genau. Deshalb entferne ich Get-ADGroup in Variante A komplett.Warum Security-Filter?✅ Wenn du nur Sicherheitsgruppen entfernen willst, brauchst du groupCategory → dann ist gezieltes Get-ADGroup -Identity $dn legitim.Wenn du auch Distribution entfernen willst: Filter weglassen (Variante A).Hardcoded “Domain Computers” DN✅ Richtig schlecht. Primärgruppe wird korrekt über primaryGroupID + DomainSID bestimmt (wie oben) – unabhängig davon, wo die Gruppe liegt.vor 17 Stunden, Micha1985 hat gesagt:Leider finde ich nicht so wirklich eine Lösung im Netz.@Micha1985 Hier wird es interessant.Hast du keine Lösung gefunden, die du als wertvoll erachtest, oder gar keine?Hättest du das KI Skript getestet und auch, wie Dakta, die Fehler gefunden?
vor 4 Stunden4 h Autor Hallo und guten Abend, erst einmal vielen Dank für die Antworten!Bis jetzt habe ich nicht wirklich eine Lösung gefunden. Wenn jemand ein lauffähiges PS-Script hat, wäre mir wirklich hilfreich aktuell.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.