HowTo: Windows-VM mit lokalem Administrator-Passwort erstellen

Windows-VM mit lokalem Administrator-Passwort via Cloud-Init/Cloudbase-Init setzen


Dieser Artikel zeigt, wie Sie beim Erstellen einer Windows‑VM in der TelemaxX OpenCloud ein lokales Administrator‑Konto samt Passwort automatisch per Cloud‑Init (Cloudbase‑Init) konfigurieren. Zusätzlich werden KMS‑Aktivierung, Zeitzone, RDP‑Freigabe und ein Neustart ausgeführt.


Voraussetzungen

  • Zugriff auf das Horizon Dashboard der TelemaxX OpenCloud
  • Projektberechtigung zum Erstellen von Instanzen
  • Windows‑Image mit Cloudbase‑Init Unterstützung (gängige TelemaxX Windows‑Images bringen das in der Regel mit)
  • Optional: Security‑Gruppe/Firewallregel für RDP (TCP 3389) geöffnet

Schritt für Schritt Anleitung

1) Einloggen & Instanzstart

Horizon → Ihr Projekt → Compute → Instances → Launch Instance.

2) Basis‑Details festlegen

  • Instanzname, Flavor (CPU/RAM/Disk)
  • Windows‑Image auswählen
  • Netzwerk und (falls benötigt) Floating IP zuweisen

3) User Data (Cloud‑Init) einfügen

Im Tab Configuration / Customization Script das folgende Skript einfügen. Es setzt die Zeitzone, aktiviert und konfiguriert KMS, legt den lokalen Admin localadmin an, vergibt das im Script hinterlegte Passwort, erlaubt RDP und startet die VM neu.

#cloud-config
set_timezone: Europe/Berlin
runcmd:
  - cscript //B %windir%\system32\slmgr.vbs /upk
  - cscript //B %windir%\system32\slmgr.vbs /ipk <KMS SCHLÜSSEL>
  - cscript //B %windir%\system32\slmgr.vbs /skms license.opencloud.telemaxx.de:1688
  - cscript //B %windir%\system32\slmgr.vbs /ato
  - timeout /t 15 /nobreak > NUL
  - net user localadmin /add
  - net localgroup Administrators localadmin /add
  - net user localadmin /active:yes
  - net user localadmin <PASSWORT>
  - reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
  - netsh advfirewall firewall set rule group="remote desktop" new enable=yes
  - echo "cloud-init executed" > C:\cloud-init-done.txt
  - shutdown /r /t 15 /f

Hinweise

  • Das Beispiel legt einen lokalen Administrator localadmin an. Benutzername/Passwort können Sie im Skript anpassen.
  • Die Kommandos laufen beim ersten Boot über Cloudbase‑Init.
  • Der Befehl shutdown /r /t 15 /f initiiert nach der Konfiguration einen Neustart (empfohlen).
  • Die KMS‑Befehle konfigurieren den Aktivierungsserver license.opencloud.telemaxx.de:1688 und aktivieren Windows. Passen Sie die Edition/Key ggf. an Ihr Image an.

4) Instanz starten

Einstellungen prüfen → Launch.

5) Verbindung testen (RDP)

Nach dem ersten Boot und automatischem Neustart:

  1. Öffnen Sie die Security‑Gruppe/Firewall (RDP TCP 3389).
  2. Verbinden Sie sich via RDP auf die Floating IP / externe IP.
  3. Login: Benutzername localadmin, Passwort <Ihr festgelegtes Passwort> (aus dem angepassten Customization Script).

Sicherheitshinweise

  • Passwort anpassen: Setzen Sie ein projektspezifisches, starkes Passwort.
  • Rotation: Passwort nach Erstlogin ändern oder per Automatisierung rotieren.
  • Least Privilege: Falls kein lokaler Admin nötig ist, entfernen oder deaktivieren.
  • RDP absichern: Zugriff auf vertrauenswürdige Quellnetze beschränken und ggf. VPN verwenden.

Fehlerbehebung

SymptomMögliche UrsacheMaßnahme
Keine RDP‑VerbindungSecurity‑Gruppe/Firewall blockiert, RDP nicht freigeschaltetRegel für TCP 3389 prüfen, Skript‑Schritt zur RDP‑Freigabe kontrollieren
Passwort funktioniert nichtBefehl nicht ausgeführt, Sonderzeichen/Encoding‑ProblemCloudbase‑Init Logs prüfen (C:\Program Files\Cloudbase Solutions\Cloudbase-Init\log\cloudbase-init-unattend.log und cloudbase-init.log)
KMS‑Aktivierung fehlgeschlagenFalscher Key/Edition, kein Reachability zum KMSKey/Edition abgleichen, Netzpfad zum KMS prüfen, erneut slmgr /ato ausführen
Skript insgesamt nicht ausgeführtUser‑Data nicht als cloud-config übergeben, falscher TabIm richtigen Feld User Data einfügen, YAML‑Block unverändert übernehmen