vSphere (7/) NTP funktioniert nicht „Zeitsynchronisierung des Hosts wurde unterbrochen“ und „NTP is not synced“ (NTP never was synchronized.)

Die neue vSphere ESXi Version bringt viele Neuerungen mit. Einige gut, andere sind neuen Herausforderungen für vmWare Admins

NTP never was synchronized.

Wir sehen es öfter, das frisch aktualisierte vsphere ESXi Hosts keine aktuelle Uhrzeit mehr von NTP Servern unter Windows abholen wollen. Es ist nicht nur eine Windows Server Zeitquelle betroffen, aber hier ist der Effekt am einfachsten nachzuvollziehen (und ja auch schon hinlänglich dokumentiert).

Hosts zeigen nach einer Weile den roten Fehler „Zeitsynchronisierung des Hosts wurde unterbrochen“ an.

vSphere: Zeitsynchronisierung wurde unterbrochen

Im Testprotokoll (Hosts > Konfigurieren > Uhrzeitkonfiguration > Dienste testen) sieht man leider nur den wenig hilfreichen Hinweis „NTP is not synced“ und „NTP never was synchronized.„. Nach der nett übersetzten Angabe „Die Konfiguration funtioniert nicht normal“.

Die Konfiguration funktioniert nicht normal

Lösung

Standardmäßig erlaubt Windows NTP Server eine Dispersion („Jitter“) von (großzügigen) 10 Sekunden und fügt diese auch in NTP-Antworten im DISP-Feld bei jedem Abfrageintervall hinzu. ESXi/ESX-Hosts ab 7.0.3 akzeptieren standardmäßig aber keine NTP-Antworten mit einer Root-Dispersion von mehr als 1,5 Sekunden.

Man könnte den Windows-NTP entsprechend anpassen, geht damit aber das Risiko fehlerhaft konfigurierter Domänenmitglieder ein. Oder man ermöglich dem NTP Client von vSphere ESXi einfach eine größere Dispersion. Letzteres machen wir hier.

Wichitg: Unter ESXi 7.0.3 kann man die /etc/ntp.conf nicht mehr manuell bearbeiten, denn sie wird durch das Webinterface (vSphere Client oder vCenter) überschrieben. Das hier ist die „richtige“ Lösung dazu.

NTP-Client auf ESXi-Hosts anpassen

  1. SSH auf Host aktivieren (Konfigurieren > Dienste > SSH > starten)
  2. Via SSH zum Host Verbinden und anmelden
  3. Eine NTP-Konfigurationsvorlagendatei erstellen und diese via esxcli setzen
# config-Datei mit Inhalt erstellen
printf "server pool.ntp.org\ntos maxdist 30\n" > /tmp/ntphack.txt

# Datei als NTP-Config "anhängen"
esxcli system ntp set -f /tmp/ntphack.txt

# NTP Client neu starten
esxcli system ntp set -e 1

Ein paar Sekunden (~20 Sekunden) später hat sich der Fehler selbst behoben und der Hoststatus ist wieder Normal.

Windows Explorer Schnellzugriff „Ein API-Aufruf wurde unnormal beendet“

Beim hinzufügen von Dateien oder Ordner zu den „Favoriten“ („An Schnellzugriff anheften„) bricht Explorer manchmal mit der Fehlermeldung „Ein API-Aufruf wurde unnormal beendet“ ab. Es wird auch kein Favorit erstellt.

Lösung

Alle Dateien in dem „automaticdestinations“ Ordner löschen und von vorne beginnen:

del %appdata%\microsoft\windows\recent\automaticdestinations\*

Explorer neu starten (oder abmelden/anmeden). Danach lief es bei uns (…) sofort und fehlerfrei wieder.

Für einige Windows-Anwendungen wie den Internet Explorer oder den Editor werden im Startmenü und in der Taskleiste (rechte Maustaste) sogenannte Sprunglisten eingeblendet. Hierbei werden die zuletzt verwendeten Dateien aufgelistet. Diese persönlichen Sprunglisten scheinen „kaputtbar“ zu sein.

„Das Benutzerkonto hat keine Berechtigung zum Löschen dieses Aufgabenordners“ beim löschen von Ordnern im Aufgabenplaner

Manchmal schleichen sich Ordner und Tasks im Aufgabenplaner ein, die man scheinbar nicht ohne weiteres löschen kann. Windows meldet dann

Das Benutzerkonto hat keine Berechtigung zum löschen dieser Aufgabe

oder

Das Benutzerkonto hat keine Berechtigung zum löschen dieses Ordners".

oder (zum ersten mal unter Windows 11 gesehen)

Der Aufgabenplanungsdienst ist nicht verfügbar. Die Aufgabenplanung wird erneut versuchen, eine Verbindung herzustellen.
Der Aufgabenplanungsdienst ist nicht verfügbar. Die Aufgabenplanung wird erneut versuchen, eine Verbindung herzustellen.

Lösung

Man kann die „Ordnerstruktur“ direkt in der Registry bearbeiten, rechte anpassen oder ganze Zweige mit Inhalt entfernen.

Alle Aufgaben werden in diesem Registry-Zweig abgelegt:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree

Darin kann man die Ordner sehen, sogar „unsichtbare“ Aufgaben entfernen, Berechtigunen korrigieren und nach Herzenslust gleich ganze Bäume mit Aufgaben und allen Inhalten entfernen.

Upgrade Windows Server 2022 Eval zur Vollversion

Das Upgrade der hier frei erhältlichen Eval-Version von Windows Server 2022

https://www.microsoft.com/de-de/evalcenter/evaluate-windows-server-2022

… gestaltet sich glücklicherweise so einfach wie das der letzten Windows Server, wenn man die richtigen Keys endlich gefunden hat.

Upgrade von Eval zur Vollversion

Verfügbare Versionen („Als Admin …“) anzeigen …

dism /online /get-targeteditions

… und passende Version aktivieren (Beispiel: Standard Edition)

dism /online /set-edition:serverstandard /productkey:VDYBN-27WPP-V4HQT-9VMD4-VMK7H /accepteula

Der Product-Key ist ein „Generic Volume License Key“ (GVLK), der die Umstellung zur Vollversion ermöglicht. Für die Datacenter-Edition gibt Microsoft den GLVK WX4NM-KYWYW-QJJR4-XV3QB-6VM33 an.

Nach dem Neustart kann man dann seine richtige Lizenz eintragen und aktivieren:

slmgr /IPK <key>

VPN-Verbindung an der PowerShell erstellen (und Optionen setzen)

Um neue VPN-Verbindungen auf mehrere Computer zu verteilen und in den Verbindungseigenschaften Optionen zu setzen gibt es ganz brauchbare PowerShell-Tools.

Die Parameter von Add-VPNConnection und Set-VPNConnection sind glücklicherweise auch praktisch identisch, so daß man entweder eine neue Verbindung erstellen oder eine vorhandene Verbindung bearbeiten kann.

Erstellt eine (SSTP-) VPN-Verbindung an der PowerShell:

Add-VpnConnection -Name "VPNNAME" -ServerAddress VPN.EXAMPLE.COM -RememberCredential:$false -SplitTunneling:$true -DnsSuffix EXAMPLE.LOCAL -AuthenticationMethod MsChapv2 -TunnelType SSTP -DestinationPrefix 10.42.42.0/24

Add-VpnConnection Parameter im einzelnen

  • -Name "VPNNAME" Name der Verbindung
  • -ServerAddress VPN.EXAMPLE.COM Adresse/URL des VPN-Servers
  • -RememberCredential:$false Sollen die Anmeldeinformationen gespeichert werden? In diesem Fall wollen wir das verhindern, damit eine eingesetze 2FA-Lösung die die Eingabe eines OTP Codes bei jeder Einwahl erzwingt funktioniert.
  • -SplitTunneling:$true Sollen VPN-Traffic und sonstiger Internet-Traffic getrennt werden? Spannend zum Beispiel für Netzwerkdrucker im HomeOffice.
  • -DnsSuffix EXAMPLE.LOCAL Setzt den DNS-Suffix auf die remote-Domäne. Nicht notwendig wenn man ausschliesslich ordentliche FQDNs für interne Ressourcen nutzt.
  • -AuthenticationMethod MsChapv2 setzt die Authentifizierungsmethode. Die meisten 2FA-Lösungen müssen den Benutzernamen „sehen“, was via EAP ausschliesst.
  • -TunnelType SSTP Verbindungstyp des Tunnels, hier SSTP.
  • -DestinationPrefix 10.42.42.0/24 Sorgt für weitere Routen zu erreichbaren Netzen, wenn SplitTunneling $true ist