vSphere vCLS VMs löschen, verschieben oder loswerden

Die neuen „vSphere Cluster Services (vCLS)“ sind standardmäßig aktiviert und die zugehörigen VMs werden per Default in allen vSphere-Clustern ab 7.0U3 ausgeführt.

Diese vCLS-Gäste stellen eine „Teilautarkie“ sicher, so dass beispielweise bei einem Crash des vCenter Servers die Clusterdienste weiterhin ihre Arbeit tun. Achtung: der vCenter Server ist trotzdem erforderlich um DRS und HA zu konfigurieren (und Operationen ausführen) zu können.

vSphere Cluster Services (vCLS)

Ein lesenswerter Artikel zu dem Konzept findet sich in den vSphere Docs unter https://docs.vmware.com/de/VMware-vSphere/7.0/com.vmware.vsphere.resmgmt.doc/GUID-96BD6016-4BE7-4B1C-8269-568D1555B08C.html

vCLS ist immer aktiviert, wenn man ein Upgrade oder Setup mit vSphere 7.0U3 macht. Technisch wird vCLS auch schon beim vCenter Server-Upgrades aktiviert. Spannend: vCLS-VMs unterstützen keine eigenen Netzwerkkarten.

Sollen die vCLS-<ID> VMs bleiben?

Manchmal muss man die klebrigen vCLS VMs „eine Weile“ loswerden. Zum Beisipel wenn man ein Storage tauschen möchte oder sich der Cluster AUSGERECHNET ein Veeam_NFS Volume für das Deployment ausgesucht hat (ohne Storage Motion natürlich).

Unnötig sind Sie zudem auch, wenn man kleine Cluster ohne DRS oder andere Cluster-Features betriebt.

Prinzipiell sind die Dinger sehr robust: Man kann Sie jederzeit abschalten und sie gehen sofort von selber wieder an. Leider verhindert das auch das Verschieben auf andere Speicher (ohne Storage Motion).

Lösung: vCLS VMs abschalten

Man kann den Cluster aber zum Glück relativ einfach dazu bewegen, die vCLS-VMs selbstständig zu entfernen.

  • Cluster-ID kopieren: Links in der Bestandsliste den Cluster auswählen und die ID aus der Adresszeile kopieren. Zum Beispiel „domain-c37“
  • vCenter Konfigurieren: Links ganz oben das vCenter auswählen, dann rechts Konfigurieren > Erweitert > Einstellungen bearbeiten > neuen Wert hinzufügen
  • Der Wert lautet config.vcls.clusters.<CLUSTER-DOMAIN>.enabled und muss auf „False“ gesetzt werden

Sobald das gespeichert ist, verschwinden die vCLS-Maschinen innerhalb weniger Sekunden. Löscht man den Eintrag wieder (oder stellt ihn auf „True“) kommen die Maschinen zuverlässig und schnell wieder.

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.

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

Microsoft 365 Exchange Online E-Mails zählen

Manchmal muss man wissen, wie viele Nachrichten an einen bestimmten Empfänger gesendet wurden. Zum Beispiel „Wie viele Nachrichten wurden in den letzten 24 Stunden an dieses Postfach gesendet?“.

Das ist leider nicht ganz so einfach, weil Get-MessageTrace nur 1000 Zeilen ausgibt. Man kann das Commandlet zwar mit -PageSize 5000 etwas tunen, aber wenn es um mehr Nachrichten geht, muss man die abzufragende Zeit eingrenzen und addieren.

Anzahl empfangener E-Mails in 24h anzeigen

Wenn man erst mit Import-Module ExchangeOnlineManagement das Exchange Online PowerShell-Modul importiert hat und sich via Connect-ExchangeOnline auch verbunden hat, kann man Nachrichen auflisten und zählen:

Get-MessageTrace -PageSize 5000 -RecipientAddress [email protected] -Start ((get-date -hour 0 -Minute 0 -Second 0).adddays(-1)) -End (get-date -Hour 0 -Minute 0 -Second 0) | Measure-Object