用于连接到远程计算机并检索软件版本和安装日期的 WMI 命令

发布于 2024-10-30 20:49:00 字数 144 浏览 8 评论 0原文

我需要帮助连接到两台运行 Windows XP 的远程计算机并检索软件版本和安装日期的详细信息。 我是 WMI 新手,如果有人能指导我正确的方向,我将不胜感激。

目前,我在机器上手动执行以下命令。 wmic 产品,其中“供应商如‘%xyz%’”获取名称、版本

I need help in connecting to 2 remote machines running Windows XP and retrive details of a software version and installation date.
I am new to WMI and would appreciate if someone could guide me in the right direction.

At the moment , I execute the below command manually on the machines.
wmic product where "Vendor like '%xyz%'" get Name, Version

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

私藏温柔 2024-11-06 20:49:00

我将为您提供一个用 PowerShell 编写的非常简单的版本。

Get-WmiObject -Class Win32_Product | Select Version,InstallDate | Export-Csv -Path C:\Scripts\Software.csv

简单的!

I will give you a much simple version written in PowerShell.

Get-WmiObject -Class Win32_Product | Select Version,InstallDate | Export-Csv -Path C:\Scripts\Software.csv

Simple!

旧瑾黎汐 2024-11-06 20:49:00

为了使用 WMI 列出本地或远程计算机中已安装的软件,您必须使用 Win32_Product wmi 类。

请检查 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 Net 或 Delphi 您可以使用类似 WMI 代码创建器WMI Delphi Code Creator 帮助您构建 WQL 语句。

in order to list the installed software in a local or remote machine using the WMI you must use the Win32_Product wmi class.

check this vbscript sample

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

if you need use this wmi class from another language like C#, Vb Net or Delphi you can use a tool like the WMI Code Creator or WMI Delphi Code Creator to help you to build the WQL sentence.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文