blue UTP cord

Azure VM in eine AD Domain joinen (in Azure)

In diesem Artikel zeige ich, wie man eine Azure VM in eine AD Domain aufnehmen kann, die auf einer anderen Azure VM läuft. Kein ADDS o.ä., einfach ein DC der läuft. Dieses Szenario findet oft Anwendung für Test-, Dev- oder Demo Umgebungen.

Meine Umgebung sieht folgendermaßen aus:

  • ARM mit dedizierter Ressourcengruppe.
  • Die Ressourcengruppe hostet ein eigenes VNet mit dem Adressbereich 10.0.0.0/16. Ich habe den Azure Standard genommen um alles einfach zu halten.
  • Azure VM (sizing DS1_v2) auf der ein Domain Controller auf Windows Server 2016 läuft. Hochverfügbarkeit habe ich nicht und brauche ich auch nicht.
  • Azure VM (sizing B2ms) auf der ein kleiner Exchange Server laufen soll.

Die Installation des Domain Controllers war sehr einfach – VM in Azure aufsetzen, patchen und dann den ADDS Installationsassistenten ausführen. Noch ein dcpromo hinterher und die Domäne steht. Auch DNS hat die Maschine. Ich habe das Azure Subnetz angepasst, sodass der Standard DNS für alle VMs in dieser Gruppe folgendermaßen aussieht:

Die Einstellung wird auf die VMs vererbt und man kann sie sogar abfragen:

Ich habe auch die lokale IP als statisch konfiguriert (in Azure!). Ob es das wirklich braucht muss man im Einzelfall entscheiden. Ich brauche einen Exchange Server, da macht eine statische IP Sinn.

Nach jeder Menge fröhlichem Patchen, IP zuweisen und allem oranisatorischen außenrum wird es Zeit den Server in die Domöne aufzunehmen. Alle Versuche schlugen fehl, egal ob mit NETBIOS Namen, FQDN oder IP des DC:

Den DC kann ich pingen, also ist er prinzipiell erreichbar. Was ich dann alles versucht habe (nach stundenlangem googeln / bingen nach Lösungsansätzen):

Nichts führte zum Erfolg. Also habe ich als letzten Ausweg etwas probiert, das man normalerweise nicht tun sollte (man kann sich leicht komplett aussperren). Aber hey, was soll schon passieren. Der Server ist leer, das ist eine Demoumgebung. Falls ich den Server zerstöre oder nicht mehr rankomme, mache ich ihn einfach neu. Also los:

Die IP Einstellungen der VM (nur um es klar zu stellen, ich rede vom Exchange Server, nicht vom DC!) müssen die IPv4 Einstellungen angepasst werden:

Zuerst trage ich den primären DNS Server nochmal hart ein: (dieser Schritt ist optional, bei mir war er aber auf manchen VMs notwendig):

Jetzt geht es weiter im Menü Erweitert und diret in die DNS Einstellungen:

Der DNS suffix ist der FQDN der Domain. All diese Tricks zwingen die VM dazu sich direkt mit dem DC zu unterhalten. Sobald man die Einstellungen speichert, verliert man die RDP Verbindung. Es könnte gut sein, dass eine TeamViewer Session überlebt, das habe ich aber nicht getestet. Der Server ist nun per RDP gar nicht mehr erreichbar. Sie erinnern sich, dass ich weiter oben in dem Artikel geschrieben habe, dass es eine schlechte Idee ist, die Netzwerkkarteneinstellungen händisch zu ändern? Jetzt wissen Sie, warum.

Aber genau das ist auch der Punkt wo Magie ins Spiel kommt. Die VM bleibt nicht erreichbar, Irgendwann habe ich mir gedacht „hm okay, Azure hat eine Reset-Funktion, die probiere ich mal aus, dann komm ich ja sicher wieder auf die VM drauf“. Gesagt, getan, Reset ausgeführt:

Der Reset dauert nicht lange, ca 1-2 Minuten:

Nach der kurzen Wartezeit erhält man die Benachrichtigung dass der Reset abgeschlossen ist::

Das ist jetzt genau der Moment, in dem man die RDP Verbindung wieder aufbauen kann. Das interessante ist, dass die IPv4 Einstellungen noch exakt so gespeichert sind, wie ich sie eingestellt habe, die VM ist also gezwungen mit ihrem DC direkt zu reden.

Und wie von Geisterhand klappt nun auch der Domain Join:

Jetzt braucht es nur noch den obligatorischen Reboot. Die Anmeldung mit Domain Account klappt dann einwandfrei (z.B. ein Domain Admin um den Server aufzusetzen). Man kann sich mit DOMAIN\USER anmelden und dann mit whoami in der Kommandozeile verifizieren, dass die Anmeldung mit dem Domainbenutzer geklappt hat.

Mit diesem Workaround konnte ich problemlos 3 Windows Server und 1 Windows 10 Client in meine Domain aufnehmen. Eines schönen Tages werde ich mich mal damit beschäftigen, was Azure da im Hintergrund genau macht, damit ich verstehe, warum der Reset geklappt hat. Für jetzt reicht mir, dass ich einen Workaround habe.

Published by Andreas

Gründer von M365 Evangelists Cloud-Architekt, Strategieberater, Consultant für Microsoft Technologien Graph API Enthusiast, PowerShell Enthusiast