Netz-Weise Logo

Weisheiten - der Netz-Weise Blog

Hier finden Sie Tipps und Tricks für vor, während und nach der Schulung.

USB-Geräte mit Powershell und WMI auslesen

Am USB angeschlossene Geräte kann man per WMI auslesen. WMI stellt dafür die WMI Association Klasse Win32_USBControllerDevice zur Verfügung, die zwei Klassen miteinander verbindet - in diesem Fall die Daten des USB-Controllers und die installierten Treiber. Die verknüpften Treiber kann man aus der Eigenschaft Dependent auslesen.

Get-WmiObject Win32_USBControllerDevice | Foreach-Object { [Wmi]$_.Dependent }

[WMI] Wandelt den String, der in der Eigenschaft $_.Dependent hinerlegt ist, wieder eine WMI-Klasse um. Um einen überschaubaren Überblick über die installierten Geräte zu bekommen, wählt man am Besten erst einmal die Eigenschaften Descritption und DeviceID aus.

Get-WmiObject Win32_USBControllerDevice | ForEach-Object { [wmi]$_.dependent } | select-Object description,deviceid

Das Ergebnis sieht dann ungefähr so aus:

Weiterlesen
  14217 Aufrufe

Treiber installieren, die für die Windows-Version nicht vorgesehen sind

Mit Windows 10 und der nächsten Version von Windows Server fehlen noch einige kompatible Treiber. So jubeln Sie Windows nicht für die Version vorgesehen Treiber unter Treiber, Treiber, Treiber. Immer wieder stößt man auf Hardware, die vom Betriebssystem nicht unterstützt wird, weil die Hardware zu alt ist oder man auf einem Serversystem (testweise) arbeitet, für das keine Treiber zur Verfügung gestellt werden. Die Krux an der Sache - oft gibt es funktionsfähige Treiber, aber der Hersteller hat den Treiber nur für z.B. Windows Clients zur Verfügung gestellt oder aber man arbeitet mit einer neuen Version des Betriebssystems, für die noch keine neuen Treiber existieren, obwohl die alten funktionieren würden.  Im folgenden Beispiel beschreibe ich, wie Sie einen Intel-Treiber für den in der CPU integrierten Intel GM 4000 Grafikadapter unter Windows Server Next (Windows Server 2016) zum Laufen bekommen.  Besorgen Sie sich zuerst einen Treiber für Windows 8.1 64 Bit. Den können Sie bei Intel bekommen. Eine gute Alternative Treiberquelle ist Microsoft Update, denn Microsoft stellt oft noch Treiber für Produkte zur Verfügung, die vom Hersteller gar nicht mehr unterstützt werden. Die Microsoft-Treiber finden Sie unter http://catalog.update.microsoft.com.  Laden Sie den Treiber als cab-File oder zip-File herunter, und entpacken Sie ihn. Wenn er, wie bei MS Update, als .cab-File geliefert wird, doppelklicken Sie einfach die cab-Datei im Explorere, markieren Sie dann alle Dateien im Ordner und rechtklicken Sie eine Datei. Es wird dann der Menüeintrag "Extract" angegeben. Extrahieren Sie die Dateien z.B. in C:\treiber\intelGM.  Nachdem die Dateien extrahiert sind, suchen Sie im IntelGM-Ordner die Datei mit der Endung .inf und editieren die Datei im Notepad. In der inf-Datei ist für jedes unterstützte Betriebssystem ein Eintrag vorhanden, der ungefähr so aussieht:

;=====================================================================
;    Windows 8 Install
;=====================================================================
[IntelGfx.NTamd64.6.2] [...]

Das ; ist einfach nur ein Kommentar. Wichtig ist der Teil [IntelGfx.NTamd64.6.2], da die Zahl 6.2 das Betriebssystem angibt. Windows 10 und Windows Server Next haben die internen Betriebssystemnummer 6.4, und für die müssen wir einen Eintrag erstellen, damit Windows den Treiber akzeptiert. Kopieren Sie also den Eintrag mit allen folgenden Werten (die mit % beginnen bzw. bis zum nächsten Kommentar) und fügen Sie ihn unter dem letzten Abschnitt ein. Ändern Sie jetzt den Betriebssystemstring auf 6.4 und, wenn Sie möchten, den Kommentar:

;=====================================================================
;    Windows 10 Install
;=====================================================================
[IntelGfx.NTamd64.6.4]

Da Windows nur signierte Treiber installiert, und wir mit dem Ändern der .inf-Datei die Signatur ungültig gemacht haben, müssen wir Windows jetzt so einstellen, dass es auch unsignierte Treiber akzeptiert. Dazu ändern wir die Starteinstellungen, indem wir eine administrative Kommandozeile öffnen und mit bcdedit die Bootoptionen ändern:

bcdedit -set loadoptions DISABLE_INTEGRITY_CHECKS
bcdedit -set TESTSIGNING ON

Anschließend starten wir den Computer neu, öffnen den Gerätemanager und wählen das Gerät aus, dass aktualisiert werden soll. Aus dem Kontextmenü des Geräts wählen Sie jetzt "update Driver Software..." aus und nehmen den lokalen Computer als Treiberquelle. Im Folgefenster geben Sie an, dass Sie den Treiber selber auswählen möchten.  Im nächsten Fenster wählen Sie "Have Disk..." aus und geben den Pfad an, in dem sich Ihr bearbeiteter Treiber befindet.  

  9075 Aufrufe