Powershell Benutzer einer OU bleiben in der Gruppe alle anderen entfernen

image_pdfimage_print

Compare Security Group with Organizational Unit

Die Benutzer einer definierten OU in der Sicherheitsgruppe belassen und alle anderen aus der Sicherheitsgruppe entfernen die nicht zur definierten OU gehören.

$OU=”OU=User Accounts,OU=User,OU=ORG,DC=ndsedv,DC=de”
$Group=”SG-UserAccounts”

Get-ADGroupMember –Identity $Group | Where-Object {$_.distinguishedName –NotMatch $OU} | ForEach-Object {Remove-ADPrincipalGroupMembership –Identity $_ –MemberOf $Group –Confirm:$false}

Get-ADUser –SearchBase $OU –SearchScope OneLevel –LDAPFilter “(!memberOf=$Group)” | ForEach-Object {Add-ADPrincipalGroupMembership –Identity $_ –MemberOf $Group}

Wer das Ganze als Aufgabe laufen lassen möchte:

Allgemein:  Sicherheitsoptionen >  Mit höchsten Privilegien ausführen
Aktionen:  Aktion > Programm starten
Aktionen: Programm/Skript > C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe
Aktionen: Argumente hinzufügen (optional) >  -command <Pfad-zum-PS-Script>\<PS-Script>.ps1