Windows Treiber via PowerShell installieren (Windows Server Core)

Treiber unter Windows an der Kommandozeile erstellen

Unter Windows Server 2012R2/2016/2019/2022 Core oder dem (kostenfreien) Hyper-V-Server gibt es bekanntlich keine GUI und konsequenterweise daher auch keinen Gerätemanager. Selbiger lässt sich auch nicht immer, vor allem wenn man noch „alleine“ ist, remote ansprechen. Wie kann man also da jetzt Treiber installieren/aktualisieren/entfernen? Also wie bekommt man Treiber auf einen Core Server?

Das kann man zum Glück ganz gut mit der PowerShell machen; genauer gesagt mit den guten alten CMD-Werkzeugen pnputil und devcon. Selbige kann man aber aus PowerShell-Schleifen heraus komfortabel starten.

Einen Treiber installieren

Man fügt einen bestimmten Treiber mit pnputil zum Windows-Treiber Repository hinzu.

pnputil.exe -i -a <PFAD>\oemdriver.inf

Alle Treiber aus dem aktuellen Verzeichnisses (mit Unterverzeichnissen) installieren

Zum Beisipel aus HPE oder DELL Repositories kann man so „mal eben“ alles in einem Rutsch zu Windows hinzufügen:

Get-ChildItem -Filter *.inf -Recurse | Select-Object FullName | ForEach-Object {pnputil -a $_.FullName}

Auflisten aller 3rd Party Treiber im Repository

Zeigt, auch unter einem „normal“ laifenden Windows, alle Dritt-Treiber an.

pnputil.exe -e

Entfernen eines Treibers aus Windows

Der <NAME> des Treibers findet sich in der Ausgabe von pnputil -e unter „Veröffentlichter Name“.

pnputil.exe -d oem<NAME>.inf

root password in VMware vCenter Server Appliance zurücksetzen „Authentication token manipulation error“

Das lokale root-Kennwort einer VCSA zurückzusetzen ist, Konsolenzugriff vorausgesetzt, gar nicht so schwer. Das „Photon OS“ ist ja auch „nur“ ein Linux mit ein paar Extras.

root Kennwort an der Konsole zurücksetzen

  • vCenter neu starten
  • Beim booten ‚e‘ drücken um die GRUB-Config zu öffnen
  • Den linux call um init=/bin/bash ergänzen
  • Mit STRG+X die VM booten
  • An der daraufhin als root laufenden bash einfach mit passwd das Kennwort zurücksetzen

Wenn man an dieser Stelle (wie ich soeben) das rw in der Zeile vergisst, erhält man statt der Meldung „passwd: password updated successfully“ die zuerst seltsam erscheinende Meldung „passwd: Authentication token manipulation error with password unchanged“.

Man könnte die Appliance natürlich einfach neu starten und die Zeile mit rw init=/bin/bash korrekt ergänzen, aber man kann natürlich die Partition einfach nachträglich als Read/Write mounten, root ist man ja schon:

mount -o remount,rw /

Danach tut es passwd auch wieder wie gewohnt 🤦

HP Drucker drucken PewDiePie Spam

Aus gegebenem Anlass seit auf diesen amüsanten HP Support-Artikel hingewiesen. Einen Kommentar sparen wir uns 😂

Es scheint noch irgendwo laufende Scripts zu geben (seit 2018!), aber besser sowas als Hakenkreuze. Der Spam sieht übrigens so aus:

PewDiePie Spam ausdruck

Und wir hatten gedacht die Internet-Drama Episode T-Series vs. PewDiePie wären vorbei 😅 und heutige Internetnutzer würden so einen Cloudprintbullshit nicht mehr kaufen 🤦

User Profile Service loggt Event ID 1534 („Fehler bei der Profilbenachrichtigung …“)

Seit einem der letzten Updates von Windows 10/11 und Windows Server 2016/2019 und 2022 sehen wir auf vielen Windows-Systemen üpbermäßig viele Warnings mit der Event ID 1534 und der Quelle User Profile Service.

Fehler bei der Profilbenachrichtigung des Ereignisses Load für Komponente {B31118B2-1F49-48E5-B6F5-BC21CAEC56FB}. Fehlercode: See Tracelogging for error details.

In der Meldung wird immer die selbe Komponennte genannt: „{B31118B2-1F49-48E5-B6F5-BC21CAEC56FB}“. Das ist der „Kacheldaten-Modellserver“, der früher mal den Kachelserver zur Kachelaktualisierung für das Startmenü stellte. Den gibt es eigentlich nicht mehr – was wir als Grund für die Massen-Warnung vermuten.

Lösung

Um von den unnötigen Warnungen verschont zu werden, muss man einfach zwei Registry-Schlüssel komplett löschen.

Weil diese Key dem „TrustedInstaller“ gehören, muss man vorher den Besitz (einschliesslich untergeordneter Objekte) übernehmen.

Dann einfach entfernen:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileNotification\TLD

und

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion\ProfileNotification\TLD

Da es für die Besitzerübernahme von Reg-Keys kein (uns bekanntes) integriertes Kommandozeilentool gibt, ist hier leider etwas GUI-Klicken angesagt.

IIS SMTP stürzt nach einem in-place upgrade auf Windows Server 2022 ab (Fehler 7031 und Fehler 1000)

Nach der Durchführung eines In-Place-Upgrades von Windows Server 2016 oder 2019 hat der gute alte IIS SMTP Dienst scheinbar ein ernstes Problem: Er stürzt mit einem Fehler ab wenn an eine E-Mail über diesen versenden will. In manchen Fällen erfolgt der Crash auch schon beim einfachen start des SMTPSVC.

Im Ereignisprotokoll (Anwendungsprotokoll) gibt es auch sofort den dazu passenden Fehler:

Name der fehlerhaften Anwendung: inetinfo.exe, Version: 10.0.20348.1, Zeitstempel: 0x20d57e42
Name des fehlerhaften Moduls: SMTPSVC.dll, Version: 10.0.20348.1, Zeitstempel: 0xba4e29ad
Ausnahmecode: 0xc0000005
Fehleroffset: 0x0000000000059abb
ID des fehlerhaften Prozesses: 0x850
Pfad der fehlerhaften Anwendung: C:\WINDOWS\system32\inetsrv\inetinfo.exe
Pfad des fehlerhaften Moduls: C:\WINDOWS\system32\inetsrv\SMTPSVC.dll
[...]

Wir wissen zwar das der IIS6 „deprecated“ ist, haben aber keine Erklärung für Microsofts offensiver „Your Problem“ Haltung zu dieser oftmals vitalen Windows-Komponente.

Es gibt schliesslich einen Haufen guter Gründe, weiterhin ein internes SMTP-Relay zu betreiben. ERP-Software muss in aller Regel Mails versenden, Scanner-Systeme, Alarmmelder und Maschineninformationen wollen Kontakt halten. Kaum eines dieser Systeme beerrscht die sichere Authentifizierung, noch weniger eines möchte man sowas für den Versand ins Internet lassen.

Lösung

Der Trick ist einfach: man muss einfach vor dem Upgrade ein Backup der IIS-Site machen und nach dem Upgrade widerherstellen. Dann läuft alles wie gewohnt und weiterhin geschmiert. Der Grund ist unsinniges Update-Gefummel in der IIS-Metabase, die sich aber erledigt hat wenn man seine alte (fehlerfreie) Version einfach weiterverwendet.

VOR dem Upgrade ein IIS Backup erstellen

Die CMD-Shell „Als Administrator“ öffnen

%windir%\system32\inetsrv\appcmd.exe ADD BACKUP %computername%

Die Backup-Dateien landen sofort in diesem Pfad:

%windir%\system32\inetsrv\backup\%computername%

NACH dem Upgrade das Backup widerherstellen

Die Backup-Dateien gehen wärend des Upgrades zwar nicht verloren (aber paranoide Admins wie wir kopieren den Inhalt des Verzeichnisses natürlich an einen sicheren Ort).

Auch nach dem Update wird die CMD-Shell „Als Administrator“ benötigt:

%windir%\system32\inetsrv\appcmd.exe RESTORE BACKUP %computername%

Außerdem stellt das Setup den IIS SMTP Dienst auf den manuellen Start um, was nach Server-Neustarts zu Kopfkratzen führen könnte. Der Dienst sollte also möglichst wieder automatisch starten:

sc config smtpsvc start=auto
sc start smtpsvc

Und schon funktioniert der SMTP-Server auch unter Windows Server 2022 wieder.