Microsoft 365 Kennwort sofort ablaufen lassen (Änderung des Kennwortes erzwingen)

Manchmal möchte man ein bestimmtes Office 365 Konto schnell geändert wissen. Möglicherweise weil das Kennwort auf einem Zettel unter der Tastatur aufgetaucht ist oder ein Gerät verschwunden ist. Es wäre toll, wenn man den Benutzer schnell zur Änderung zwingen könnte.

Leider gibt Microsoft dem Administrator dafür kein GUI-Werkzeug in die Hand. Man kann in der Oberfläche das Kennwort zwar gewaltsam „zurücksetzen“, aber leider nicht als „abgelaufen“ markieren. Eine Kennwortablaufrichtline gibt es nur Unternehmensweis und nur in Tagen.

Lösung

An der PowerShell ist das natürlich möglich. Man muss dazu das MSOnline Modul in seiner PowerShell aktive haben (import-module MSOnline) und mit dem Microsoft-Tenant verbunden sein (Connect-MsolService).

Erzwingt die sofortige Änderung

Set-MsolUserPassword -UserPrincipalName "[email protected]" -ForceChangePassword $true -ForceChangePasswordOnly $true

⚠ Die Dokumentation des Commandlets „Set-MsolUserPassword“ ist leider unvollständig.

  • ForceChangePassword $true erzwingt das der Benutzer bei der nächsten Anmeldung sein Kennwort ändert
  • ForceChangePasswordOnly $true sorgt dafür, das kein neues Kennwort automatisch vergeben wird

Man kann natürlich auch an der Kommandozeile ein neues Kennwort vorgeben:

Set-MsolUserPassword -UserPrincipalName "[email protected]" -NewPassword "GEHE1MK3NNW0RT"

Oder von der Powershell ein neues Kennwort generieren und setzen lassen:

Set-MsolUserPassword -UserPrincipalName "[email protected]" -ForceChangePassword

Erzwingt die Änderung des Kennwortes nach Datum

Man kann in Set-MsolUserPassword auch beliebige Selektionen hinein-pipen. Das vereinfacht beispielweise die Vorgabe nach einem bestimmten Datum (hier der 24. Juli 2021) oder nach Alter.

Get-MsolUser | where LastPasswordChangeTimestamp -lt (Get-Date 24.07.2021) | Set-MsolUserPassword -ForceChangePassword $true -ForceChangePasswordOnly $true

Hinweis: „Sonderfall“ Outlook

Nachdem man für den nächsten Login eine Passwortänderung „erzwungen“ hat, funktioniert nun allerdings noch das bestehende Passwort und vor Allem Outlook kann wunderbar mit einem bestehenden Session-Token weiterarbeiten (auch mehrere Wochen lang).

Um im Outlook einen neuen Login zu erzwingen, muss man das Session-Token revoken. Das geht ebenfalls per PowerShell, benötigt aber das AzureAD Modul (😑):

Get-AzureADUser -SearchString "[email protected]" | Revoke-AzureADUserAllRefreshToken

Oder für die selben Benutzer wie oben (nach letztem Änderungsdatum):

Get-MsolUser | where LastPasswordChangeTimestamp -lt (Get-Date 24.07.2021) | foreach {Get-AzureADUser -SearchString $_.UserPrincipalName} | Revoke-AzureADUserAllRefreshToken

Tastenkombinationen und Zugriffstasten wieder unterstreichen

Microsoft hat in Windows 11 die unterstrichenen Tastenkürzen für die Menüauswahl standartmäßig abgeschaltet. Das erschwert die Tastaturbedienung und macht diese schnelle Methode für direkte Zugriff für neue Admins leider praktisch unsichtbar.

Vorher – Nachher: Der Schnellzugriff fehlt

Lösung

Zum Glück ist die Anzeige der Unterstreichung nur eine Einstellungssache:

Windows Einstellungen -> Barrierefreiheit -> Tastatur -> „Tastenkombinationen Unterstreichen“

Alternativ: Klassische Systemsteuerung > Alle Systemsteuerungselemente > „Center für erleichterte Bedienung“ > „Bedienung der Tastatur erleichtern“ > „Tastenkombinationen und Zugriffstatsten unterstreichen“

vSphere: Alle eingelegten ISO-Dateien in VMs finden (via PowerCLI)

Alle CD’s in VMs finden: Ab und zu möchte ich eine ISO aus einem Datastore löschen, das dann mit einem Fehler fehlschlägt.

Die Datei [DATASTORE] isos/SW_DVD9_Win_Server_STD_CORE_2019_64Bit_German_DC_STD.ISO kann nicht gelöscht werden.

Das liegt meistens daran, das die ISO noch in einem Gast gemountet oder sogar verbunden ist.

Wie kann man also ISO Dateien in allen seinen VMs suchen?

Lösung

Alle VMs mit verbundenen ISO-Dateien via PowerCLI auflisten:

Get-VM | Get-CDDrive | select @{N="VM";E="Parent"},IsoPath | where {$_.IsoPath -ne $null}

… ISO-Dateien aus allen VM’s entfernen:

Get-VM | Get-CDDrive | where {$_.IsoPath -ne $null} | Set-CDDrive -NoMedia -Confirm:$False

vSphere ESXi ISO Image download mit ESXi-Customizer-PS Fehler [WinError 10054]

In letzter Zeit häufen sich die Fälle, in denen man mit dem bewährten PowerShell Script ESXi-Customizer-PS.ps1 von V-Front keine aktuelle ISO mehr herunterladen kann.

Windows Meldet dann nur noch einnen „enexpected error“.

An unexpected error occurred:
[WinError 10054] Eine vorhandene Verbindung wurde vom Remotehost geschlossen

Lösung

Die Ursache des Fehler kennen wir nicht, aber es funktioniert dann immernoch sofort der „Umweg“ über das Offline Zip-Bundle:

.\ESXi-Customizer-PS.ps1 -ozip

gefolgt von

.\ESXi-Customizer-PS.ps1 -izip <ESXi-bundle-ZIP-File>.zip

Dann hat man nach praktisch der selben Zeit das selbe ISO fertig.

KB4056892 und Intel-CPU unter Windows 10: Ereignis „Es ist ein korrigierter Hardwarefehler aufgetreten“ WHEA Logger ID 17

Manchmal tritt der Fehler 17 des WHAE-Loggers (Windows Hardware Error Architecture) auf. Diese Meldung besagt in der Regel nur lapidar:

Es ist ein korrigierter Hardwarefehler aufgetreten

Dies ganze Fehlermeldung lautet in etwa so:

Komponente: PCI Express Root Port
Fehlerquelle: Advanced Error Reporting (PCI Express)
Primär Bus:Gerät:Funktion: ...
Sekundär Bus:Gerät:Funktion: ...
Primärer Gerätename: PCI\VEN_ ...
Sekundärer Gerätename:

Das tritt häufiger bei älteren Maschinen mit einer Intel CPU der 4. Generation (Intel® Core™ i*‑4xxx) auf. In den meisten Fällen hat es was mit „interessanten“ BIOS-Updates gegen die Spectre-Lücke zu tun, manchmal ist es auch ein Treiber-Effekt.

Auf jeden Fall sollte BEVOR man das hier ausprobiert, das aktuellste BIOS für die Maschine installiert sein.

Bei einigen Maschinen hat es uns geholfen, den „PCI Express Native Control“ Modus abzuschalten. Wenn Windows die PCIe Native Control startet, erzwingt es einige PCIe Features, die nicht immer (korrekt) in der Hardware implementiert sind. Wenn das der Fall ist, kann Windows den „Standard-PCI-to-PCI-Bridge“ Treiber nicht mehr starten und der Fehler tritt auf.

PCI Express Native Control Feature in Windows abschalten („Legacy Mode“)

Einfach eine CMD Shell „Als Administrator“ starten und den Modus konfigurieren.

bcdedit /set {current} pciexpress forcedisable

Ein paar Sachen funktionieren dann manchmal nicht mehr, wie Hot Plug (an intregrierten SAS-Ports) oder integrierte (nicht-intel) Netzwerkkarten. Die brauchen normalerweise den Native Mode für Ihre Features.

Zurücksetzen (= Einschalten)

bcdedit /deletevalue {current} pciexpress

Oder auch:

bcdedit /set {current} pciexpress default