获取名称/版本号WMI/Powershell查询(最终用于域上的所有计算机)

获取名称/版本号WMI/Powershell查询(最终用于域上的所有计算机),powershell,wmi,Powershell,Wmi,我是Powershell的新手,尝试最终对我所在域的所有系统运行查询,以获取所有已安装的Microsoft/Symantec软件的名称、版本信息和密钥 在我在域名上乱搞之前(尽管如果有人能完成查询,我将不胜感激),我正在尝试在自己的机器上完成它 到目前为止使用 Get-WmiObject -Class Win32_Product | Select-Object -Property Name, Version, IdentifyingNumber 看起来不错,但它提供了系统上的所有软件。我正试图

我是Powershell的新手,尝试最终对我所在域的所有系统运行查询,以获取所有已安装的Microsoft/Symantec软件的名称、版本信息和密钥

在我在域名上乱搞之前(尽管如果有人能完成查询,我将不胜感激),我正在尝试在自己的机器上完成它

到目前为止使用

Get-WmiObject -Class Win32_Product | Select-Object -Property Name, Version, IdentifyingNumber
看起来不错,但它提供了系统上的所有软件。我正试图添加一个| Where对象{-比如'microsoftcorporation'),但我不知道要使用的正确语法


还有谁能告诉我如何在域上的所有计算机上运行此功能的好资源吗?

请查看的示例。它们展示了如何正确过滤


另外,速度可能会非常慢。最好使用其
Query
filter
参数添加筛选器。同样,对于一些示例。

我认为win32\u OperatingSystem类可能更适合您。当我运行“使用”类时,它只返回实际的操作系统。我缺少什么吗?我需要的不仅仅是这些信息。好吧,我开始使用Get-WMIOObject-Class Win32|U Product | Select Object-Property Name、Version、IdentificationNumber、Version | Where Object{$.Vendor-like“Microsoft”}是否可以工作,但是如果我尝试添加或运算符以添加“Symantec”它停止工作,该放在哪里?Powershell仅显示常见WMI类的某些属性。若要查看所有属性,请获取WMIObject win32|OperatingSystem | Format List*其中的对象{($.Vendor-like“Microsoft”)-或($.Vendor-like“Symantec”)}如果这是在整个域中运行的,那么从效率的角度来看,使用
gwmi
的内置过滤器/查询是唯一的方法。