Прежде всего, прошу прощения за мой английский. Я новичок в сценариях vbs и запросах wmi, и мне нужна ваша помощь.
Моя цель - получить список «Установка и удаление программ» определенного компьютера. Я видел много сценариев, которые запрашивают раздел реестра Uninstall на целевом компьютере, но я хочу сделать это, даже если компьютер отключен. Вот почему я запрашиваю сервер SCCM.
Мой запрос кажется хорошим, потому что когда я помещаю его в построитель отчетов, он возвращает хороший результат.
Вот запрос:
Select sys.Name0,adv.DisplayName0 FROM v_R_System sys , v_Add_Remove_Programs adv where sys.ResourceID=adv.ResourceID and sys.Name0 like '%XXXXXXXX%'
Моя проблема - получить результат запроса с помощью vbscript. Я получаю сообщение об ошибке в строке "Для каждого"
Вот мой сценарий:
'Central SCCM Site Server name
strComputer = "SCCM_SERVER"
'Central SCCM Site Code
strSiteCode = "DC1"
'Set up the connection String
Set objWMIService = GetObject("winmgmts://" & strComputer & "\root\sms\site_" & strSiteCode)
'Get the info with a query
Set colGroups = objWMIService.ExecQuery("Select sys.Name0,adv.DisplayName0 FROM v_R_System sys , v_Add_Remove_Programs adv where sys.ResourceID=adv.ResourceID and sys.Name0 like 'XXXXXXXXXXX'")
'output the info
For Each objGroup in colGroups
Wscript.echo objGroup.DisplayName0 & " - "
Next
Не могли бы вы помочь мне?
Обновление: кажется, я использую неправильный язык для запроса. Я использую SQL вместо WQL.
Я не знаю, как перевести свой запрос на WQL. Не могли бы вы помочь?
Вы пытаетесь использовать SQL-запрос для получения результатов от CM07 / CM12. Вам необходимо использовать WQL для запроса CM07 / CM12. Переведите свой запрос на WQL, и он должен работать, или переписать VBS для прямого запроса SQL.