Dienstag um 11:232 Tage 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:542 Tage 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:152 Tage 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.
Mittwoch um 05:151 Tag 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?
Mittwoch um 21:381 Tag 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.
vor 17 Stunden17 h Ein PS-Script zu schreiben, ohne die Struktur der genutzten Domäne etc. zu kennen, wird immer sch... bleiben und kann für viele graue Haare sorgen!
vor 17 Stunden17 h vor 8 Stunden, Micha1985 hat gesagt:Bis jetzt habe ich nicht wirklich eine Lösung gefunden.Wenn jemand ein lauffähiges PS-Script hat, wäre mir wirklich hilfreich aktuell.Das klingt leider so, dass man den Eindruck hat, du kannst aus dem KI (Mist) und den guten Hinweisen von dakta kein ordentliches Skript ableiten.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.