Zeitumstellung und die Windows Server Essentials Status Mails

Aus gegebenem Anlass, falls der Windows Server Essentials keine Status Mails mehr verwenden will. Wir hatten wieder eine Zeitumstellung und damit kommt der Management-Service nicht zurecht.

image

Der Fehler tritt auf, egal ob wir einen Windows Server 2012 R2 oder Windows server 2016 Small Business Esentials betreiben und die Lösung ist immer noch die gleiche wie vor 2 Jahren Winking smile

net stop "Windows Server Essentials Management Service" && net start "Windows Server Essentials Management Service"

Der Windows Server Essentials wäre damit auch ein Produkt, welches von der Abschaffung der Zeitumstellung profitieren würde.

Enjoy it, b!

Fix: Windows 10 Update 20H2 und der Essentials Connector

Info: Bitte die Update Historie unten lesen, ursprünglich wurde das Script für Windows 10 Version 1903 entwickelt und seitdem immer wieder getestet und aktualisiert. Für alle die nicht lesen wollen, die aktuelle Version des Scripts befindet sich hier .

Zumindest aus Sicht des Windows Server Essentials Connector ist jedes Update von Windows 10 spannend. Die seit gestern offiziell verfügbaren Version 1903 für Windows 10 versäumt es beim Upgrade, die für die Ausführung des Windows Server Essentials Connectors notwendigen Dienste (Services) zu migrieren. Die sind nach dem Update nicht mehr vorhanden.WSE-1903

Damit ist der Windows 10 Client nicht mehr in der Lage sich am Windows Server Essentials an zu melden um seinen Status zu kommunizieren oder eine Sicherung durch zu führen. Im Dashboard des Server erscheint der Client Offline.

image

Damit das wieder klappt, müssen die Services hergestellt werden. Das geht am einfachsten durch das folgende Script, welches die Services in Form von REG-Dateien in die Registry importiert. Im Anschluss, nach einem Neustart funktioniert der Connector ohne Probleme.

image

Das Script und die dazu notwendigen REG-Dateien sind in der ZIP Datei als Download verfügbar. Für eventuelle Schäden lehne ich jegliche Haftung ab.

  • Die Ausführung des Scripts muss in einer PowerShell-Session als Administrator erfolgen
  • Script und REG-Dateien müssen zwingend im gleichen Verzeichnis liegen
  • Das Script prüft ob es sich um den Version 1903 oder höher handelt. Nur dann werden die REG-Dateien in die lokale Registry des Windows 10 Clients eingetragen

Möglicher Weise können Probleme mit der PowerShell Execution-Policy auftreten, dazu wende ich den folgenden Workaround an.

Get-Content -Path .\Fix-WSeLaunchpad-1903.ps1 | PowerShell.exe -NoProfile -

image

Update 30.05.2019:
Inzwischen ist es mir gelungen, dass Microsoft dieses Problem als Bug (Fehler) betrachtet und an einem Fix arbeitet. Wie schnell damit zu rechnen ist, kann ich nicht sagen melde mich aber wenn ich weiteres weiß.

Update 15.07.2019
Das Script, und damit der Workaround funktionieren mit dem WSE 2016 und dem WSE 2012R2, dass mag im Blog nicht richtig rüber gekommen sein. Für die anderen Versionen (WSE 2011 und 2012) müsste man die Registry-Einträge des Connectors vergleichen.

Update 21.07.2019
Ich hatte nun die Gelegenheit Windows 10 Clients an einem SBE 2012 (ohne R2) um zu stellen und muss gestehen, dass das Script hier definitiv nicht funktioniert. Der Clientconnector dort verwendet wohl andere Einträge in der Registry als unter Windows Server 2012R2/2016.

Update 18.11.2019
Mit dem Update auf Windows 10 1909 gibt es keine Probleme, dass liegt an der von Microsoft geänderten Bereitstellung. Dazu werden vornehmlich nur Features freigeschaltet, die schon in früheren Versionen vorhanden waren.

Update 11.12.2019
Wird ein ISO mit Windows 10 1909 für einen Upgrade, zum Beispiel von Windows 7 auf Windows 10 verwendet. Schlägt der Bug wieder zu und das bisherige Script funktioniert leider nicht. Darum habe ich eine kleine Änderung durchgeführt und eine Version erstellt (steht nun auch in der History), die mit 1903 und neuer funktioniert.

Update 15.05.2020
Auch mit Windows 10 2004 tritt dieses Problem auf und kann über das Script behoben werden. Ich habe an diesem eine Reihe kleinerer Korrekturen durchgeführt und hier zum Download bereitgestellt.

Update 23.10.2020
Seit dem letzten Jahr, oder denken wir in Updates, seit Windows 10 Version 1909, liefert Microsoft das Herbstupdate als normales Windows Update aus, dass Features die im Verlauf der letzten Monate durch Updates (in 2004) installiert wurden aktiviert. Damit funktioniert das Update auf diesem Weg ohne Probleme und das Script ist nicht notwendig. Erfolgt aber ein Upgrade, zum Beispiel der Version 1909, durch das Windows 10 20H2 ISO, kann das Script im Anschluss den Connector reparieren.

Enjoy it, b!

Verwalten eines RAID-Controllers durch das BIOS auf dem Motherboard

Auf Supermicro Motherboards besteht die Möglichkeit einen RAID-Controller (hier ein AVAGO 9361-4i) durch das BIOS zu verwalten.

Es stellt sich hier natürlich die Frage, wieso sollte man das eigentlich tun? Mir fallen hier zwei Gründe ein, die mir das arbeiten mit der Hardware deutlich erleichtern.

  • Alle Einstellungen sind im BIOS des Servers zu setzen, und nicht verteilt zwischen Server und Controller
  • Der Aufruf des BIOS erfolgt bei Supermicro Boards mit der DEL Taste und diese ist über ein ILO-Board deutlich einfacher zu erreichen als zum Beispiel die Kombination CTRL+R

Damit nun eine zentrale Konfiguration über das BIOS möglich ist, muss für jeden PCI-Slot das PCI Device Option ROM Setting von [Legacy] auf [UEFI] geändert werden, danach wird das BIOS des RAID-Controllers nicht mehr initialisiert und auch keine Ausgaben mehr beim Startvorgang angezeigt. Alle Einstellungen sind dann im BIOS des Servers vorhanden.

image

Die Einstellungen wie immer mit F4 speichern und dann mit DEL ins BIOS um den RAID-Controller zu konfigurieren.

image

Ich finde das echt cool und für mich sehr hilfreich. Dazu kommt noch, dass zumindest ich mit der Navigation im BIOS des Servers besser zurecht komme als mit dem BIOS des RAID-Controllers.

image

Ich habe das mit dem Supermicro X11SCH-F getestet und konfiguriert, es geht aber wohl auch mit Motherboards der X10 Serie, wenn das BIOS aktuell ist.

Enjoy it, b!

Hyper-V Replication State Critical

Nach dem Update einiger Hyper-V Hosts wollte die, für einige VMs eingerichtete Hyper-V Replication nicht mehr starten. Der Replication Health stand auf Critical und das Übliche, über das Menü des Hyper-V Manager verfügbare Resume Replication funktionierte nicht.

image

Eine Abfrage mit PowerShell stellte die Situation wie folgt dar.

image

Zusätzlich wurde im Hyper-V Manager die folgende Information bereitgestellt.

image

Das Problem war, dass ein Resync der Hyper-V Replication notwendig war. Dieser aber über den Hyper-V Manager nicht zur Verfügung stand, also in der GUI nicht angeboten wurde.

Die Lösung stellt hier, wie so oft unter Windows, PowerShell bereit. Hier besteht explizit die Möglichkeit einen Resync der VM anzustoßen.

# Hyper-V Replication, resync einer einzelnen VM
Resume-VMReplication -VMName 'mt-app-2.testlab.local' -Resynchronize

Sollten mehrere VMs von dem Problem betroffen sein, können alle mit dem gleichen Health State über die Kombination der folgenden Befehle zu einem Resync bewegt werden.

# Hyper-V Replication, resync aller VMs eines Hosts im Zustand "critical"
Get-VMReplication | Where-Object { $_.Health -eq 'Critical' } | Resume-VMReplication -Resynchronize

Bei einem Resync geht einiges an I/O über die Leitung und abhängig von der Größe der VMs kann das durchaus einige Zeit in Anspruch nehmen.

image

image

In diesem Fall waren es gut 5 Stunden. So, läuft wie man heute gerne dazu sagt.

image

image

Enjoy it, b!

Supermicro X11SCH-F BIOS Update mit der UEFI Shell

Für das Server-Motherboard Supermicro X11SCH-F, ist kein Update des BIOS über einen mit DOS präparierten USB-Stick vorgesehen. Der Hersteller verweist hier auf die UEFI Shell, was wenn man das mal gemacht hat, sehr einfach geht. Die dazu notwendigen Schritte werde ich hier beschreiben.

Als BIOS kam die folgende Version zum Einsatz.

image

Für das Update habe ich den Server erst einmal mit der UEFI: Built-in EFI Shell gestartet.

image

Die Möglichkeit diese als Boot Device zu verwenden, muss aber erst einmal im BIOS des Servers eingestellt werden. Dazu beim Start die Taste DEL bzw. ENTF drücken.

Dieser Server hatte diese Option noch nicht konfiguriert, wie im Folgenden zu sehen ist.

image

Um diese Möglichkeit zu aktivieren, habe ich unter UEFI Boot Option #2 die [UEFI USB Hard Disk] gegen die UEFI: Built-in EFI Shell getauscht.

image

Das Abspeichern der Änderung hier mit F4 nicht vergessen. Die Möglichkeit die UEFI: Built-in EFI Shell auszuwählen erscheint, wenn die Taste F11 beim Start des Servers gedrückt wird.

image

Danach befinden wir uns in UEFI Shell Smile

Sinnvoll ist es hier, dass alle USB-Devices vom Server entfernt werden, mit Ausnahme dem welches das BIOS enthält.image

Gemäß der Anleitung habe ich die folgenden Schritte ausgeführt und habe dabei gleich festgestellt, dass mein Stick auf fs1: zu finden war.

  1. fs1:
  2. fs1:\> cd bios
  3. fs1:\> cd x11sch
  4. fs1:\> flash.nsh X11SCH0.526

image

Mit einem Return (Taste) startet der Flashvorgang und damit das Update des BIOS …

image

… was ein wenig dauern kann, bei mir waren es 5 Minuten. Danach sieht die Sache wie folgt aus und der Server kann neu gestartet werden.

image

Ich schalte nach erfolgreichem Update den Server ganz aus, damit er beim nächsten Neustart sich vollständig initialisiert, dass mag aber Geschmacksacke sein.

Sollte der Server im BIOS auf Boot mode select [UEFI] stehen, so wird dieser Wert durch das Update auf [DUAL] geändert und der Windows Boot Manager kann das Betriebssystem nicht mehr laden. Dann einfach nochmals ins BIOS gehen und die Option auf [UEFI] ändern, was den Windows Boot Manager an seiner ehemaligen Position wieder einblendet.

image

Dann klappt es auch wieder mit dem Start des Betriebssystems.

Enjoy it, b!

Verwenden von Microsoft Teams im Web

Die Verwendung von Microsoft Teams über den Webbrowser kann verschiedene Gründe haben, oft liegt es daran das Microsoft Teams (noch) nicht mehreren Accounts parallel betrieben werden kann. Muss man also mit zwei Tenants arbeiten, dann bleibt nur der (Um)weg über den Webbrowser.

Öffnet man nun den Link auf Teams im Web https://Teams.Microsoft.com dann geht die Anmeldung unter Umständen schief.

image

Verwendet man Google Chrome, muss dafür eine Extension aus dem Windows Store installiert werden. Diese Extension lässt sich dann über das kleine Windows Logo rechts oben verwalten.

image

Danach hat es auch über Google Chrome mit der Anmeldung geklappt.

Enjoy it, b!

Ändern der Standard-Ordner in Outlook Teil 1

Outlook verwendet für die Standard-Ordner die Sprache, in der es installiert wurde. Wird also eine Office365 Mailbox auf einem englischem Outlook zum ersten Mal initialisiert, dann erscheinen die Ordner mit englischen Namen.

image

Wird die Mailbox nun mit einem in deutscher Sprache installierten Outlook betrieben, können diese Namen entsprechend zurückgesetzt werden.

:: Zurücksetzen der Anzeigesprache für Outlook Standard-Ordner
outlook.exe /resetfoldernames

In welchem Ordner sich die Outlook.exe befindet, lässt sich recht einfach mit einem Aufruf in der Eingabeaufforderung herausfinden. In diesen muss dann vor der Ausführung des obigen Befehls gewechselt werden.

image

:: Wechsel in das Outlook-Verzeichnis
cd /d "c:\Program Files\Microsoft Office\root\Office16"

Nun werden die Ordner in der passenden Anzeigesprache dargestellt.

Enjoy it, b!

Aktive Computer im Active Directory

Für die Verlängerung von Lizenzen musste ich die Anzahl von Computern, die noch aktiv sind, ermitteln. Leider wurden zwar neue PCs stetig im Active Directory (AD) hinzugefügt, alte Computer-Konten aber einfach dort belassen.

Es bestand also die Notwendigkeit alle Computer zu finden die Ihr Passwort in den letzten 30 Tagen gewechselt hatten. Der Wechsel nach 30 Tagen ist der von Microsoft festgelegte Standard und kann über eine GPO geändert werden.

https://docs.microsoft.com/en-us/windows/security/threat-protection/security-policy-settings/domain-member-maximum-machine-account-password-age

Zur Auswertung macht es darum Sinn, hier nochmals einen Blick auf die Richtlinie zu werfen.

Geholfen hat mir dieser Einzeiler in PowerShell:

# Ermitteln der vorhandenen Computer im AD
Get-ADComputer -Filter {enabled -eq $true} -Properties * | select Name, DNSHostName, OperatingSystem, LastLogonDate, LastLogonTimestamp | FT Name, @{n='LastLogonTimeStamp';e={[DateTime]::FromFileTime($_.LastLogonTimeStamp)}} -A | Out-File c:\temp\pc.txt

Damit wird im Verzeichnis c:\temp eine Datei mit dem Namen pc.txt erstellt. Deren Inhalt entsprechend analysiert werden kann.

image

In diesem Fall, war der XX_WKS-5 seit März nicht mehr im Betrieb!

Enjoy it, b!

Windows Backup und alte nicht mehr vorhandene Sicherungen

Es ist mal wieder Zeit etwas über Windows Backup und seine Eigenheiten zu schreiben.

Gelegentlich laufen mir die Sicherungsplatten der Small Business Server voll und Windows Backup schafft es nicht die alten Sicherungen zu entfernen.

image

Windows Backup liefert neben wbadmin.exe noch eine Reihe von PowerShell Befehlen mit, die bei der Wartung und damit zu Behebung des Problems hilfreich sind.

# Löschen aller alten Backups bis auf die letzten 10
wbadmin delete backup -keepversions:10 -quiet

Der Aufruf funktioniert sehr gut, allerdings kommt er nicht mit Backups zurecht die nicht mehr erreichbar sind, sich also auf einer Offline-Platte befinden. Damit haben wir die Situation, dass die Backups auf der Platte sind und noch einen Eintrag im Katalog besitzen. Ist die Platte noch da, können die Backups problemlos gelöscht werden. Im Falle eines Defekts oder Verlusts geht das nicht und wbadmin liefert die folgenden Fehlermeldungen (grüner Kasten).

image

The operation to delete backup version … failed with error:
The specified media type is invalid.

Eine Bereinigung des Backup-Katalogs ist über zwei Wege möglich, zum einen bietet wbadmin die Möglichkeit explizit die Backup-Version (blauer Kasten oben) zu löschen, fordert hier aber zweimal die Bestätigung mit [Y]es. Die Verwendung der Option –quiet überspringt leider die optionale Nachfrage zur Löschung des Eintrags aus dem Katalog.

# Löschen von alten Backups über die Versions-ID
wbadmin delete backup -versions:09/20/2014-21:00

Alternativ und effektiver bewerkstelligt man die Aufgabe mit PowerShell.

# Löschen aller alten Backups bis auf die letzten 10
Remove-WBBackupSet -MachineName server.domain.tld -KeepVersions 10

Auch bei dem Aufruf von Remove-WBBackupSet kommt es zu Fehlermeldungen wegen des fehlenden Mediums, diese werden aber ignoriert und der Backup-Katalog bereinigt.

Die nun noch vorhandenen Versionen lassen sich mit Get-WBBackupSet anzeigen

# Anzeige der nun noch vorhandenen Backup Versionen
Get-WBBackupSet

Bis zum nächsten Mal.

Enjoy it, b!

Hyper-V, Umstellung und Konfiguration von Switch Embedded Teaming (SET)

Seit Windows Server 2016 bietet Hyper-V die Möglichkeit des Switch Embedded Teaming (SET). Dieser Blog beschreibt die Umstellung eines Hyper-V Hosts (Windows Server 2019) von normalen Teaming auf SET.

  1. https://redmondmag.com/articles/2020/03/17/hyperv-switch-embedded-teaming-1.aspx
  2. https://redmondmag.com/articles/2020/03/19/hyperv-switch-embedded-teaming-2.aspx

Da in der Regel auf Hyper-V Hosts VMs aktiv sind, sollten hier einige Vorsichtsmaßnahmen ergriffen werden.

  1. Shutdown aller VMs
  2. Für den Fall, dass eine VM automatisch startet muss diese Aktion ebenfalls deaktiviert werden
  3. Anlegen oder aktivieren eines lokalen Admins, der auch funktioniert Winking smile

Im ersten Schritt werden alle mit dem zu lösenden Team verbundenen Virtual Switches auf Internal oder Private Network umgestellt, nur dann lässt sich ein bestehendes Team löschen.

image

Die Umstellung ist temporär und damit verlieren die darauf laufenden VMs ihre Verbindung ins Netzwerk und werden darum wie in Punkt 1 oben geschrieben am besten heruntergefahren.

Der PowerShell Befehlt Get-NetLbfoTeam, zeigt die vorhandenen Teams an.

image

Beide Teams (also Team Ethernet 1 und Team Ethernet 2) werden nun gelöscht und zu einem SET verbunden.

# Löschen eines Teams
Remove-NetLbfoTeam -Name "Team Ethernet 1"
Remove-NetLbfoTeam -Name "Team Ethernet 2"
# Löschen aller Teams
Get-NetLbfoTeam | Remove-NetLbfoTeam

Hier sollte klar sein, dass damit auch die Netzwerkverbindung zum Hyper-V Host verloren geht. Ist ein DHCP-Server vorhanden, werden die Adapter von diesem neue Adressen bekommen, ansonsten kann nun nur noch der Zugriff über die Konsole oder ein ILO-Board erfolgen. Siehe hier Punkt 3 oben, wir brauchen dann einen funktionierenden lokalen Administrator.

Das SET wird nun über diesen Befehl eingerichtet.

# Konfiguration eines SET Switch embedded teams
New-VMSwitch -Name "_ Network 172.16.16.0" -NetAdapterName "Ethernet","Ethernet 2","Ethernet 3","Ethernet 4" -EnableEmbeddedTeaming $true -AllowManagementOS $true

Was nicht wirklich gut aus der Microsoft Dokumentation von New-VMSwitch hervorgeht, ist die Beschreibung von –EnableEmbeddedteaming.

Bei mehr als einem Adapter, wird automatisch –EnableEmbeddedTeaming $true verwendet, bei nur einem Adapter –EnableEmbeddedTeaming $false. Soll also ein SET gebaut werden, der zu Beginn nur einen Adapter besitzt und irgendwann erweitert wird, dann muss unbedingt –EnableEmbeddedTeaming $true verwendet werden.

-AllowManagementOS $true ist notwendig, damit auch der Hyper-V Host den Adapter verwenden kann, wir also mit einem konvergierten Adapter arbeiten. Nur dann kann eine IP-Adresse darauf gebunden werden.

Danach kann mit sconfig wieder die korrekte / alte IP des Adapters gesetzt werden und im Hyper-V Manager steht dieser dann wie folgt zur Verfügung.

image

Damit sind wir fertig, leider nein … es können nämlich eine Reihe von Dingen schief gehen!

Bei einigen, nicht bei allen Umstellungen habe ich die folgende Meldung erhalten.

External Ethernet adapter ‚Intel(R) 82574L Gigabit Network Connection‘ is already bound to the Microsoft Virtual Switch protocol.

Dadurch lässt sich der Adapter nicht in das SET aufnehmen und bedarf einer zusätzlichen Behandlung. Wahrscheinlich auch mit PowerShell möglich, habe ich aber ncspbind den Vorzug gegeben.

Das Tool ist in dem folgenden KB-Artikel beschrieben:

Creating V-switches within the hyper-V environment fails

Der folgende Befehl löst dieses Problem:

nvspbind /u “AdapterName” 

Wenn ich mir nicht sicher bin, ob meine Adapter noch sauber funktionieren, gibt es die Möglichkeit diese komplett zurück zu setzen. Mit komplett meine ich komplett!!!!

netcfg –d

Danach hilft nur noch die Anmeldung über das ILO-Board und ein durchgeführter Neustart des Servers, nun kann ebenfalls der SET konfiguriert werden.

Mit einem Scanner, wie zum Beispiel dem Advanced IP-Scanner lassen sich IPs in einfach auffinden. Das Tool, habe ich bei solchen Umstellungen immer parat.

Enjoy it, b!