[英]Run WQL query by powershell
我想知道如何使用Powershell運行WQL查詢。 這是WQL查詢
Select UAR.User, UAR.Application, UAR.CurrentState from sms_fullcollectionmembership as FCM
INNER JOIN SMS_UserApplicationRequest as UAR ON UAR.User=FCM.SMSID
where FCM.CollectionID="100104"
如about_WQL
幫助文件中所述,您可以使用以下兩個cmdlet中的一個: Get-WmiObject
或Get-CimInstance
,也可以使用[wmisearcher]
類型的加速器:
Get-WmiObject
: $queryNameVersion = "Select Name, Version from Win32_Bios"
Get-WmiObject -Query $queryNameVersion
Get-CimInstance
: $queryNameVersion = "Select Name, Version from Win32_Bios"
Get-CimInstance -Query $queryNameVersion
[wmisearcher]
: $searcher = [wmisearcher]"Select Name, Version from Win32_Bios"
$searcher.Get()
Get-WmiObject
設計為與WMI(Microsoft自己的CIMv2服務器實現)一起使用,而Get-CimInstance
應該與任何符合CIMv2的服務器一起使用(盡管AFAIK,WQL特定於WMI)。
在您的示例中,您可以將查詢放入here字符串中以保持可讀性:
$SCCMQuery = @'
Select UAR.User, UAR.Application, UAR.CurrentState from sms_fullcollectionmembership as FCM
INNER JOIN SMS_UserApplicationRequest as UAR ON UAR.User=FCM.SMSID
where FCM.CollectionID="100104"
'@
$Results = Get-WmiObject -Namespace "root\SMS\Site_Name" -Query $SCCMQuery
簡單如:
Get-WmiObject -query $wqlQuery
標准別名是gwmi
。
如果在默認的WMI命名空間之外,請提供-namespace
參數。
(也有Get-CimInstance -query …
但我不熟悉。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.