我需要帮助连接到运行Windows XP的两台远程计算机并检索软件版本和安装日期的详细信息。 我是WMI的新手,希望有人能指导我朝着正确的方向前进。WMI命令连接到远程计算机并检索软件版本和安装日期
目前,我在机器上手动执行下面的命令。 WMIC产品,其中“LIKE‘%XYZ%’供应商”得到名称,版本
我需要帮助连接到运行Windows XP的两台远程计算机并检索软件版本和安装日期的详细信息。 我是WMI的新手,希望有人能指导我朝着正确的方向前进。WMI命令连接到远程计算机并检索软件版本和安装日期
目前,我在机器上手动执行下面的命令。 WMIC产品,其中“LIKE‘%XYZ%’供应商”得到名称,版本
,以列出使用WMI,你必须使用Win32_Product
WMI类的本地或远程计算机上安装的软件。
检查this VBScript示例
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.CreateTextFile("c:\scripts\software.tsv", True)
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colSoftware = objWMIService.ExecQuery _
("SELECT * FROM Win32_Product")
objTextFile.WriteLine "Caption" & vbtab & _
"Description" & vbtab & "Identifying Number" & vbtab & _
"Install Date" & vbtab & "Install Location" & vbtab & _
"Install State" & vbtab & "Name" & vbtab & _
"Package Cache" & vbtab & "SKU Number" & vbtab & "Vendor" & vbtab _
& "Version"
For Each objSoftware in colSoftware
objTextFile.WriteLine objSoftware.Caption & vbtab & _
objSoftware.Description & vbtab & _
objSoftware.IdentifyingNumber & vbtab & _
objSoftware.InstallLocation & vbtab & _
objSoftware.InstallState & vbtab & _
objSoftware.Name & vbtab & _
objSoftware.PackageCache & vbtab & _
objSoftware.SKUNumber & vbtab & _
objSoftware.Vendor & vbtab & _
objSoftware.Version
Next
objTextFile.Close
如果你需要使用WMI类从如C#另一种语言,VB网或Delphi,你可以使用像WMI Code Creator
或WMI Delphi Code Creator
一种工具来帮助您建立WQL句子。
我会给你一个用PowerShell编写的简单版本。
Get-WmiObject -Class Win32_Product | Select Version,InstallDate | Export-Csv -Path C:\Scripts\Software.csv
简单!
嗨,谢谢你的回应。当我执行脚本时,出现'Path Not Found'错误。 (我在strComputer中指定了计算机名称) – 2011-04-07 14:13:53
如果您看到示例代码的第二行,则会在C:\ scripts'文件夹中创建一个名为'software.tsv'的文件,该文件夹必须存在。无论如何,你可以使用我建议你看看如何访问这个wmi类的另一个例子的工具。 – RRUZ 2011-04-07 14:40:24