0
我正在尋找一種方法來枚舉工作站的本地Driverstore中的所有驅動程序,並檢索用戶看到的名稱的「友好名稱」例如添加打印機對話。具體而言,我還想列舉一些特定類別的設備,如打印機。腳本檢索Windows Vista中所有驅動程序的友好名稱Driverstore
如果可能vbscript或jscript通過Windows腳本宿主。另外解析一個命令行工具的輸出也可以。
我正在尋找一種方法來枚舉工作站的本地Driverstore中的所有驅動程序,並檢索用戶看到的名稱的「友好名稱」例如添加打印機對話。具體而言,我還想列舉一些特定類別的設備,如打印機。腳本檢索Windows Vista中所有驅動程序的友好名稱Driverstore
如果可能vbscript或jscript通過Windows腳本宿主。另外解析一個命令行工具的輸出也可以。
我不是專家,但它似乎只有在您有Microsoft Systems Management Server (SMS)時才能編寫此任務。它提供了SMS_Driver WMI類,據我瞭解,它可用於查詢Driver Store中的驅動程序。下面的腳本應該讓你知道如何做到這一點。 (免責聲明:我沒有短信,所以我不能證明該腳本正確謹防錯誤:)
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
註釋:
SELECT * FROM SMS\_Driver WHERE DriverClass=_insert\_proper\_DriverClass\_here_應該執行此操作。
如果我們有短信,這將是理想的解決方案。所以這基本上是一個好的解決方案。它不能直接應用於我的問題,但我特別關注本地驅動程序商店。我會更新這個問題。 – 2009-06-10 14:23:25