Alle artikelen

Hybride Active Directory automatiseren met een PowerShell runbook

Ruben van der Graaf··6 min lezen

Stuur on-prem AD-groepen aan vanuit attributen in een hybride omgeving. Zo werkt het met Entra ID dynamic groups, een PowerShell runbook op een hybrid worker en Entra Connect onder één regelmodel.

In een hybride omgeving leven je gebruikers op twee plekken tegelijk: in Microsoft Entra ID en in je on-prem Active Directory. Toegang regel je in beide. In de cloud kun je dynamic groups gebruiken, maar on-prem AD kent dat mechanisme niet. Dit artikel laat zien hoe je groepslidmaatschappen in on-prem AD toch automatiseert op basis van attributen, met een PowerShell runbook op een hybrid worker en Entra Connect die de wijzigingen terugsynct. Eén regelmodel stuurt beide directories aan.

TL;DR

  • On-prem Active Directory heeft geen dynamic groups, dus attribuut-gebaseerd lidmaatschap moet je daar zelf aansturen.
  • Een PowerShell runbook op een hybrid worker leest attributen uit AD en past de groepslidmaatschappen toe in AD.
  • Entra Connect synct die AD-wijzigingen terug naar Entra ID, zodat de cloud meebeweegt.
  • In de cloud zet je dezelfde logica neer met Entra ID dynamic groups. Eén regelmodel voor beide directories.
  • ServiceChanger reageert standaard op de attributen die al in je directory staan. Test een nieuwe regel altijd eerst op een kleine testgroep.

Waarom on-prem AD anders is dan de cloud

Entra ID heeft dynamic groups: je schrijft een membership rule en Entra vult de groep zelf. On-prem Active Directory heeft dat niet. AD-groepen zijn statisch. Wil je een AD-groep laten volgen uit een attribuut zoals afdeling of functie, dan moet er een proces zijn dat de attributen leest en de lidmaatschappen bijwerkt.

Dat is precies het gat dat een runbook vult. Het runbook is een PowerShell-script dat periodiek of op een trigger draait, de relevante attributen uitleest en de juiste gebruikers in de juiste AD-groepen zet. En wat eruit moet, haalt het er weer uit.

De rol van de hybrid worker en Entra Connect

Een runbook in een Azure automation account draait standaard in de Azure-cloud en kan daar niet bij je domain controllers. Voor on-prem werk gebruik je een hybrid worker: een machine in je eigen netwerk die het runbook lokaal uitvoert, met lijn van zicht op AD. Het runbook gebruikt de Active Directory PowerShell-module om groepen en lidmaatschappen aan te passen.

Entra Connect doet de andere helft. Zodra het runbook een lidmaatschap in AD wijzigt, picked Entra Connect die wijziging op bij de volgende sync en zet hem door naar Entra ID. Zo hoeft je cloudkant niets aparts te weten: hij ziet gewoon de gesynchroniseerde groep.

De stroom op een rij:

  1. Een attribuut in AD verandert (bijvoorbeeld de afdeling van een gebruiker).
  2. Het runbook draait op de hybrid worker, leest het attribuut en bepaalt de juiste set groepen.
  3. Het runbook past de AD-groepslidmaatschappen aan: voegt toe wat er bij hoort, haalt weg wat niet meer klopt.
  4. Entra Connect synct de gewijzigde groepen naar Entra ID.
  5. De cloudkant beweegt mee zonder losse handeling.

Het model: één attribuut, een set groepen

De kern van het model is simpel. Eén attribuutwaarde staat voor een hele set groepen. Je zet het attribuut, de set volgt. Verander je het attribuut, dan wisselt de set en worden de oude lidmaatschappen opgeruimd. Geen losse tickets per groep, geen vergeten rest-toegang.

In pseudocode ziet de regel er zo uit:

# Afdeling Finance -> set AD-groepen
if user.department == "Finance":
    target_groups = [
        "AD-Finance-FileShare",
        "AD-Finance-Reporting",
        "AD-Finance-Printers"
    ]

# Bepaal verschil en pas toe
add    = target_groups not in user.current_groups
remove = managed_groups in user.current_groups but not in target_groups

Add-ADGroupMember    for each group in add
Remove-ADGroupMember for each group in remove

Let op het verschil tussen target_groups en managed_groups. Het runbook ruimt alleen groepen op die het zelf beheert. Groepen die je buiten het model met de hand toewijst blijft het met rust laten. Zo voorkom je dat een automatiseringsslag handmatige uitzonderingen wegvaagt.

Een concrete walkthrough. Een medewerker gaat van Sales naar Finance. Iemand wijzigt het attribuut department van Sales naar Finance, in AD of in het bronsysteem dat naar AD schrijft. Bij de volgende run leest het runbook de nieuwe waarde, bepaalt dat de Finance-set nu de juiste is, voegt de drie Finance-groepen toe en haalt de Sales-groepen weg die het beheert. Entra Connect synct de nieuwe groepen naar Entra ID. De medewerker heeft de juiste toegang in beide directories, en de oude toegang is weg.

Eén regelmodel voor twee directories

De winst zit in één regelset die beide kanten aanstuurt. In de cloud vertaal je het model naar Entra ID dynamic groups met een membership rule op hetzelfde attribuut. On-prem vertaalt het runbook hetzelfde attribuut naar AD-groepslidmaatschappen. Je beheert één set regels, geen twee losse werelden die uit elkaar lopen.

Zo werkt ServiceChanger. Het beheert lidmaatschappen van groepen en rollen in zowel Entra ID als on-prem AD, regelgebaseerd. In de cloud via dynamic groups, on-prem via het PowerShell runbook op de hybrid worker, met Entra Connect die de boel terugsynct. Standaard reageert ServiceChanger op de attributen die al in je directory staan. Wil je een HR-systeem koppelen voor onboarding en offboarding, joiner-mover-leaver, dan bouwen we dat als maatwerk met automation accounts en runbooks in Azure. Dat is geen standaardfeature.

Houd één ding scherp: ServiceChanger heeft geen shadow mode. De veilige manier om een nieuwe regel uit te rollen is hem eerst op een kleine testgroep te draaien, het resultaat te controleren en daarna pas breder te gaan.

FAQ

Heb ik een Azure automation account nodig? Voor on-prem AD-werk gebruik je een runbook dat op een hybrid worker in je eigen netwerk draait, zodat het bij je domain controllers kan. Het automation account orkestreert de runbooks. Het runbook zelf doet het werk lokaal.

Wat doet Entra Connect hier precies? Entra Connect synct de wijzigingen die het runbook in on-prem AD maakt terug naar Entra ID. Het runbook past AD aan, Entra Connect zorgt dat de cloud meebeweegt. Je hoeft de cloudkant niet apart bij te werken voor gesynchroniseerde groepen.

Wat gebeurt er met handmatige uitzonderingen? Het runbook beheert alleen de groepen die binnen het model vallen. Groepen die je los met de hand toewijst raakt het niet aan. Zo botst automatisering niet met bewuste uitzonderingen.

Kent ServiceChanger een shadow mode? Nee. De veilige rollout is een nieuwe regel eerst op een kleine testgroep draaien en het resultaat controleren voordat je hem breder uitrolt.

Verder lezen

Volgende stap

Wil je je hybride Active Directory aansturen vanuit één regelmodel, zonder lidmaatschappen met de hand bij te houden? ServiceChanger beheert groepen en rollen in Entra ID en on-prem AD, regelgebaseerd, met een PowerShell runbook op een hybrid worker en Entra Connect. Plan een demo.