Join 在WQL/SCCM中连接两个表
我觉得我在这里真的很蠢 我正在使用vbscript。我已连接到SCCM服务器Join 在WQL/SCCM中连接两个表,join,vbscript,wmi,wql,sccm,Join,Vbscript,Wmi,Wql,Sccm,我觉得我在这里真的很蠢 我正在使用vbscript。我已连接到SCCM服务器 Set locator = CreateObject("WbemScripting.SWbemLocator") Set connection = locator.ConnectServer("SERVERNAME", "Root\SMS\SITENAME") 然后我有一个WMI WQL查询: Set Collections = connection.ExecQuery("SELECT LastStatusTime
Set locator = CreateObject("WbemScripting.SWbemLocator")
Set connection = locator.ConnectServer("SERVERNAME", "Root\SMS\SITENAME")
然后我有一个WMI WQL查询:
Set Collections = connection.ExecQuery("SELECT LastStatusTime,AdvertisementID,
LastStateName,AdvertisementName
FROM SMS_ClientAdvertisementStatus
INNER JOIN SMS_Advertisement
ON SMS_Advertisement.AdvertisementID = SMS_ClientAdvertisementStatus.AdvertisementID
WHERE LastStateName = 'Succeeded'
AND LastStatusTime > '2012-09-25'")
FOR each Collection in Collections
Collection.LastStatusTime
Collection.AdvertisementID
Next
我认为我对WQL的理解有差距。在这个查询中,我似乎能够连接这两个WQL“表”,但我只能从SMS_ClientAdvertisementStatus返回值
如果我试图从SMS_广告(我加入的表)返回任何内容,我只会得到一个错误
你能在WQL中连接“表”吗?如果它们是表的话?或者我必须有一个嵌套查询?或者有其他方法从两个表返回数据吗?该语言只是SQL的一个子集,不支持JOIN语句,在某些情况下可以使用 WQL不支持联接,但您可以使用MOF定义包含来自多个类的数据的WMI类。请看这里:
WQL确实支持连接。下面是一个示例工作查询,其中列出了与集合名称匹配的设备的名称。2012年在SCCM工作
select SMS_R_SYSTEM.Name from SMS_R_System inner join SMS_Collection as Systems on Systems.Name = SMS_R_System.Name
在尝试在PowerShell SCCM/ConfigManager查询中使用JOIN语句时,我遇到了类似的问题,并发现这是一个很好的解决方案:
我相信这些方法也可以翻译成其他语言 这是不正确的,WQL不支持联接。请参阅这里的WQL支持的运算符列表。在这里发布之前,我测试了WQL查询。它确实有效。这个博客也谈到了它——为了清晰起见,它似乎增加了一些对连接的支持@verisimilitude@cogumel0你能用相关的资源/参考资料和一个实际例子来证明这一点吗?您可能能够执行查询而不会出现可见错误,但联接将无法工作。虽然此链接可能会回答问题,但最好在此处包含答案的基本部分,并提供链接以供参考。如果链接页面发生更改,则仅链接的答案可能无效。