Powershell Benutzer einer OU bleiben in der Gruppe alle anderen entfernen

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