Powershell WMI优化

Powershell WMI优化,powershell,wmi,Powershell,Wmi,我有以下脚本 $script:WMIClassNames = ` "CIM_Processor",` "CIM_PhysicalMemory",` "Win32_ComputerSystem",` "CIM_BIOSElement",` "Win32_OperatingSystem",` "Win32_NetworkAdapterConfiguration",` "Win32_Volume",` "Win32_QuickFixEngineering",` "CIM_Process",` "WIN

我有以下脚本

$script:WMIClassNames = `
"CIM_Processor",`
"CIM_PhysicalMemory",`
"Win32_ComputerSystem",`
"CIM_BIOSElement",`
"Win32_OperatingSystem",`
"Win32_NetworkAdapterConfiguration",`
"Win32_Volume",`
"Win32_QuickFixEngineering",`
"CIM_Process",`
"WIN32_Service",`
"WIN32_NTLogEvent"

$script:WMIClassInfo = Get-WmiObject -ComputerName $script:strSysName -Namespace "Root/CIMV2" -List | Select Name | Where-Object {$script:WMIClassNames -contains $_.Name}
当我测量脚本的时间时,在远程机器上执行此脚本几乎需要4到10分钟。是否可以优化此脚本以减少执行时间


感谢您的帮助。

左过滤、右格式化规则可能会有所帮助。您试图用此脚本实现什么?它所要做的就是返回你给它的WMI类列表。所有的类都是标准的:它们在远程系统上不会以某种方式丢失。我只是这样做。我正在检查WMI是否已损坏,以及脚本所需的类是否存在于服务器中。如果该类不在服务器中,我将根本不执行与查询关联的整个脚本块。@bahrep,get wmiobject没有任何筛选选项,因此我可以将筛选移到左侧。