Invoke-CMWmiQuery
运行 WMI 查询。
语法
Invoke-CMWmiQuery
[-Context <Hashtable>]
[-Option <QueryOptions>]
[-Query] <String>
[-DisableWildcardHandling]
[-ForceWildcardHandling]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-CMWmiQuery
-ClassName <String>
[-Context <Hashtable>]
[-Option <QueryOptions>]
-Search <SmsProviderSearch>
[-DisableWildcardHandling]
[-ForceWildcardHandling]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
说明
Invoke-CMWmiQuery cmdlet 运行 Windows Management Instrumentation (WMI) 查询。 与其他查询 cmdlet 或工具不同,使用此 cmdlet,已为你设置了连接和命名空间。
还可以使用此 cmdlet 创建具有 WMI 查询语言 (WQL) 的查询。 Configuration Manager对集合中的查询使用 WQL。 WQL 类似于 SQL,但仍使用 SMS 提供程序,因此遵守基于角色的访问控制。
注意
从Configuration Manager站点驱动器运行Configuration Manager cmdlet,例如 PS XYZ:\>
。 有关详细信息,请参阅 入门。
示例
示例 1:运行 WQL 查询
第一个命令创建 WQL 查询并将其存储在 $WQL 变量中。 第二个命令运行存储在 变量中的查询。
$WQL = @"
SELECT app.* FROM SMS_ApplicationLatest AS app
INNER JOIN SMS_CIContentPackage AS con ON app.CI_ID=con.CI_ID
INNER JOIN SMS_DistributionPoint AS srv ON con.PackageID=srv.PackageID
WHERE app.IsHidden = 0
"@
Invoke-CMWmiQuery -Query $WQL -Option Lazy
示例 2:为设备集合运行 WMI 查询
第一个命令创建搜索对象并将对象存储在 $Search 变量中。
第二个命令指定搜索顺序按 CollectionID 升序。
第三个命令将搜索参数添加到 $Search 对象。 在这种情况下,查询将搜索设备集合。
最后一个命令运行存储在 $Search 中的查询。 它将 SMS_Collection 指定为包含 CollectionID 属性的类。
$Search = [Microsoft.ConfigurationManagement.PowerShell.Provider.SmsProviderSearch]::new()
$Search.AddOrder("CollectionID", [Microsoft.ConfigurationManagement.PowerShell.Provider.SearchParameterOrderBy]::Asc)
$Search.Add("Name","DeviceCol*", $True)
Invoke-CMWmiQuery -Search $Search -ClassName "SMS_Collection" -Option Lazy
示例 3:按状态运行站点的 WMI 查询
第一个命令从任何现有搜索对象中清除搜索参数。
第二个命令将搜索参数添加到 $Search 对象。 在这种情况下,查询将搜索网站。
最后一个命令运行存储在 $Search 中的查询。 它将 SMS_Site 指定为包含站点 Status 属性的类。
$Search.Clear()
$Search.Add("Status", $True)
Invoke-CMWmiQuery -ClassName "SMS_Site" -Search $Search
示例 4:按名称运行站点的 WMI 查询
第一个命令从任何现有搜索对象中清除搜索参数。
第二个命令将搜索参数添加到 $Search 对象。 在这种情况下,查询将搜索网站。
最后一个命令运行存储在 $Search 中的查询。 它将 SMS_Site 指定为包含 SiteName 属性的类。
$Search.Clear()
$Search.Add("SiteName", $null, [Microsoft.ConfigurationManagement.PowerShell.Provider.SearchParameterOperator]::NotEquals)
Invoke-CMWmiQuery -ClassName "SMS_Site" -Search $Search
示例 5:为应用程序运行 WMI 查询
第一个命令从任何现有搜索对象中清除搜索参数。
第二个命令将搜索参数添加到 $Search 对象。 在这种情况下,查询将搜索应用程序。
最后一个命令运行存储在 $Search 中的查询。 它将 SMS_Application 指定为包含站点 CI_ID属性的 类。
$Search.Clear()
$Search.AddAdhoc("CI_ID > 0")
Invoke-CMWmiQuery -ClassName "SMS_Application" -Search $Search -Option Lazy
参数
-ClassName
指定要查询的Configuration Manager WMI 类。
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
提示你在运行 cmdlet 之前进行确认。
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Context
将 WMI 上下文指定为哈希表。 它是传递给 WMI 提供程序的名称/值对列表,该提供程序支持自定义操作的上下文信息。
Type: | Hashtable |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DisableWildcardHandling
此参数将通配符视为文本字符值。 不能将其与 ForceWildcardHandling 组合使用。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ForceWildcardHandling
此参数处理通配符,并可能导致意外行为, (不建议) 。 不能将其与 DisableWildcardHandling 组合使用。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Option
最常见的选项是 Fast
。
指定查询选项:
None
:默认Lazy
:默认情况下,cmdlet 加载延迟属性。Fast
:使用此选项不加载延迟属性。 对于某些类,此选项可以更快地返回结果。ExpectResults
ExpectResultsThrowException
&:如果查询未返回任何结果,则引发异常。 此异常通常会结束脚本。FastExpectResults
LazyExpectResults
&:这些选项与ExpectResults
结合使用Fast
。Lazy
ExpectResultsSoftFail
:如果查询未返回任何结果,则输出错误,但不结束脚本。
有关延迟属性的详细信息,请参阅Configuration Manager延迟属性。
以下值仅供内部使用:
- Clone
- NoMask
- NoRefresh
- IgnoreNoResults
Type: | QueryOptions |
Aliases: | Options |
Accepted values: | None, NoRefresh, Lazy, Fast, ExpectResults, FastExpectResults, LazyExpectResults, Clone, ExpectResultsSoftFail, ExpectResultsThrowException, NoMask, IgnoreNoResults |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Query
指定 WMI 查询语言 (WQL) 语句。
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Search
指定 SMSProviderSearch 对象。
Type: | SmsProviderSearch |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
显示在 cmdlet 运行时发生的情况。 cmdlet 不会运行。
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
输入
None
输出
IResultObject[]
IResultObject
相关链接
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈