2009-06-04 9 views
0

Ich suche nach einer Möglichkeit, alle Treiber im lokalen Treiberspeicher der Arbeitsstation aufzulisten und den "Anzeigenamen" zu erhalten, der der Name ist, den der Benutzer sieht Druckerdialog hinzufügen Speziell möchte ich auch nur eine bestimmte Klasse von Geräten wie Drucker auflisten.Skript zum Abrufen von Namen aller Treiber in Windows Vista Treiber

Wenn möglich, VBScript oder JScript über Windows Scripting Host. Alternativ dazu ist es auch möglich, die Ausgabe eines Befehlszeilenprogramms zu analysieren.

Antwort

0

Ich bin kein Experte, aber es scheint, dass diese Aufgabe nur gescriptet werden kann, wenn Sie Microsoft Systems Management Server (SMS) haben. Es bietet die SMS_Driver WMI-Klasse, die, soweit ich es verstehe, verwendet werden kann, um Treiber im Driver Store abzufragen. Das folgende Skript sollte Ihnen die Idee geben, wie dies gemacht werden kann. (Disclaimer: Ich habe keine SMS, also kann ich das Skript richtig nicht unter Beweis stellen Vorsicht vor Bugs :)

On Error Resume Next 

strComputer = "." ' Computer name. Dot means local computer 

' Connect to the SMS Provider 
Set oWMIService = GetObject("winmgmts:" & _ 
    "{impersonationLevel=impersonate}!\\" & strComputer & "\root\sms\site_XXX") ' Replace XXX with your site code (see notes below) 
If Err.Number <> 0 Then 
    WScript.Echo "WBemServices connection failed. Error " & Err.Number & ": " & Err.Description 
    WScript.Quit 
End If 

' Get all device drivers 
Set colDrivers = oWMIService.ExecQuery("SELECT * FROM SMS_Driver") 

' List properties of each driver 
For Each objDriver In colDrivers 
    WScript.Echo _ 
     "Name: "  & objDriver.LocalizedDisplayName & vbNewLine & _ 
     "Class: "  & objDriver.DriverClass   & vbNewLine & _ 
     "Model name: " & objDriver.ModelName   & vbNewLine & _ 
     "Description: " & objDriver.LocalizedDescription & vbNewLine & _ 
     "Version: "  & objDriver.DriverVersion  & vbNewLine & _ 
     "Provider: " & objDriver.DriverProvider  & vbNewLine & _ 
     "Path: "  & objDriver.ContentSourcePath & vbNewLine & _ 
     "File: "  & objDriver.DriverINFFile  & vbNewLine 
Next 

. Hinweise:

  • Sie können sich wahrscheinlich Ihre Website Code in Verwaltung finden -> Computerverwaltung -> Dienste und Anwendungen -> WMI Control -> Eigenschaften -> Sicherheit, unter dem Knoten Root \ sms.
  • Das Skript soll alle Treiberklassen auflisten; Wenn Sie nur bestimmte Klassen benötigen (z. B. Druckertreiber), sollten Sie die Abfrage in ändern.
+0

Das wäre die ideale Lösung, wenn wir SMS hätten. Das ist also grundsätzlich eine gute Lösung. Es kann jedoch nicht direkt auf mein Problem angewendet werden, da ich mich speziell mit dem lokalen Treibergeschäft befasse. Ich werde die Frage aktualisieren. –