【发布时间】:2018-08-24 14:25:12
【问题描述】:
我正在尝试使用其他人编写的 PowerShell 脚本将两个不同的 WMI 事件添加到 SCCM 服务器。我必须将两个事件查询合并为一个查询,但我不确定如何最好地做到这一点。到目前为止,我已经尝试了很多不同的方法。代码如下:
Function WMI-InstanceFilter
{
# Function Started
LogTraceMessage "*** Function WMI-InstanceFilter Started ***"
Write-Verbose "*** Function WMI-InstanceFilter Started ***"
$PropertyHash = @{
QueryLanguage = "WQL";
Query = "";
Name = "Name";
EventNameSpace="root/sms/site_$($SiteCode)"
}
$Script:InstanceFilter = New-CimInstance -Namespace root/subscription -ClassName __EventFilter -Property $PropertyHash -Verbose -ErrorAction Stop
这是我需要以某种方式组合并放入查询行的两个事件查询:
SELECT * FROM __InstanceOperationEvent Within 900 Where TargetInstance ISA 'SMS_Package' and TargetInstance.Name like 'drivers - %'"
SELECT * FROM __InstanceOperationEvent Within 300 Where TargetInstance ISA 'SMS_Package' and TargetInstance.Name like 'BIOS - %'"
最好的方法是什么?
【问题讨论】:
-
您可以像这样组合名称查询:
TargetInstance.Name LIKE 'drivers - %' OR TargetInstance.Name LIKE 'BIOS - %'。但是,我认为您不能组合时间,因此您需要为 WITHIN 子句选择一个持续时间,因为它现在是一个查询。
标签: powershell wmi wql