Wanneer je de Microsoft Online Services Directory Synchronization tool gebruikt om je Active Directory objecten naar Office 365 te synchroniseren, dan vind er iedere drie uur een synchronisatie plaats. In sommige gevallen duurt dit te lang en zou je een wijziging het liefst direct gesynchroniseerd zien worden. Gelukkig kan dit vrij eenvoudig, in dit artikel laat ik zien hoe.
Maar kan ik dit nu ook automatiseren? Natuurlijk kan dat, het is immers PowerShell. Eerst moeten we PowerShell vertellen dat het lokaal gemaakte scripts mag uitvoeren:
Vervolgens zetten we de opdrachtregels in een tekstbestand en slaan we deze op met de .ps1 extensie. De inhoud van het script zou er bijvoorbeeld zo uit kunnen zien:
Als je dit script nu met de Task Scheduler wilt laten opstarten moeten we nog een batch-file maken welke PowerShell het door ons gemaakte script laat uitvoeren. Dat doen we als volgt:
Zoals blijkt uit bovenstaand screenshot geeft de PowerShell console geen feedback, anders dan een lege regel. Net als bij Unix en andere shell-omgevingen gebruikelijk is geldt ook hier: geen bericht, goed bericht. Met andere woorden, als er geen waarschuwing of foutmelding verschijnt mogen we aannemen dat er geen probleem opgetreden is bij het uitvoeren van het commando.
Maar hoe kunnen we nu zien hoe de daadwerkelijke synchronisatie verloopt? Die terugkoppeling vinden we in het Application Log van de server. Hier zien we een heel aantal events met als source Directory Synchronization. Het event met Event ID 4 vertelt ons bijvoorbeeld dat de synchronisatie klaar is:
In dit artikel heb ik laten zien hoe we de directory synchronisatie buiten de normale cyclus om kunnen starten en ook hoe we dit proces kunnen automatiseren. Het monitoren van de daadwerkelijke synchronisatie doen we in het Application Log.