Запрос коллекции пользователей SCCM: user=inADGroup & software=Installed
Я хотел бы написать запрос для пользовательской коллекции в SCCM. Наш ИТ-отдел хотел бы работать с тремя различными коллекциями пользователей для каждого программного пакета:
- [softwareName] - Установлено
- [softwareName] - Установить
- [имя_программы] - удалить
В основном система работает следующим образом:
- Установлено: содержит пользователей, которые находятся в группе программного обеспечения AD и имеют программное обеспечение, установленное на их компьютере
- Установить: содержит пользователей, которые находятся в группе программного обеспечения AD, но еще не установили программное обеспечение (пакет будет назначен этой группе)
- Удалить: содержит пользователей, у которых на компьютере установлено программное обеспечение, но они больше не входят в группу AD.
Я знаю, что состояние установки можно отслеживать с помощью "мониторинга", но я хотел бы иметь решение, как указано выше.
Вопрос: У меня проблемы с написанием запроса для "установленной" группы. Мой фрагмент кода выглядит следующим образом:
select
SMS_R_USER.ResourceID,SMS_R_USER.ResourceType,SMS_R_USER.Name,SMS_R_USER.UniqueUserName,SMS_R_USER.WindowsNTDomain
from
SMS_R_User
where
SMS_R_User.SecurityGroupName = "DOMAIN\\GROUP"
Пока это работает, я теперь добавляю часть для запроса поиска продукта:
and
select
SMS_R_System_ADD_REMOVE_PROGRAMS.ProdID
from
SMS_R_System_ADD_REMOVE_PROGRAMS
where
SMS_R_System_ADD_REMOVE_PROGRAMS.ProdID
like
"{PRODUCTCODE}"
Эта часть не работает, я получаю "синтаксическую ошибку или не поддерживается в представлении разработки SCCM для запросов". Мне хорошо известно, что может быть синтаксическая ошибка, но у меня также есть ощущение, что система SMS_R_System не поддерживается в дизайне запросов коллекции пользователей. Я новичок в SQL, но я надеялся на несколько советов. Спасибо!
РЕДАКТИРОВАТЬ: используя SCCM 1710
1 ответ
Решил сам
ПОЛЬЗОВАТЕЛИ В ГРУППЕ AD С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ, УСТАНОВЛЕННЫМ НА УСТРОЙСТВЕ
select
SMS_R_User.UniqueUserName, SMS_R_System.name,SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName, SMS_G_System_ADD_REMOVE_PROGRAMS.ProdID,SMS_G_System_ADD_REMOVE_PROGRAMS_64.DisplayName, SMS_G_System_ADD_REMOVE_PROGRAMS_64.ProdID
from SMS_R_System
INNER JOIN SMS_UserMachineRelationship ON SMS_UserMachineRelationship.ResourceId = SMS_R_System.ResourceId
INNER JOIN SMS_R_User ON SMS_UserMachineRelationship.UniqueUserName = SMS_R_User.UniqueUserName
LEFT OUTER JOIN SMS_G_System_ADD_REMOVE_PROGRAMS ON SMS_G_System_ADD_REMOVE_PROGRAMS.ResourceID = SMS_R_System.ResourceId AND SMS_G_System_ADD_REMOVE_PROGRAMS.ProdID = "{1441FE72-8D71-4B05-B89F-8C3DA0D2D3A6}"
LEFT OUTER JOIN SMS_G_System_ADD_REMOVE_PROGRAMS_64 ON SMS_G_System_ADD_REMOVE_PROGRAMS_64.ResourceID = SMS_R_System.ResourceId AND SMS_G_System_ADD_REMOVE_PROGRAMS_64.ProdID = "{1441FE72-8D71-4B05-B89F-8C3DA0D2D3A6}"
where (SMS_R_User.SecurityGroupName = "BAMBEL\\SCM_TST_BVO")
AND
SMS_UserMachineRelationship.Types = 1
AND
( SMS_G_System_ADD_REMOVE_PROGRAMS_64.DisplayName <> "" OR SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName <> "" OR SMS_G_System_ADD_REMOVE_PROGRAMS_64.DisplayName <> NULL OR SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName <> NULL)
ПОЛЬЗОВАТЕЛИ В AD GROUP С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ, НЕ УСТАНОВЛЕННЫМ НА УСТРОЙСТВЕ
select
SMS_R_User.UniqueUserName, SMS_R_System.name,SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName, SMS_G_System_ADD_REMOVE_PROGRAMS.ProdID,SMS_G_System_ADD_REMOVE_PROGRAMS_64.DisplayName, SMS_G_System_ADD_REMOVE_PROGRAMS_64.ProdID
from SMS_R_System
INNER JOIN SMS_UserMachineRelationship ON SMS_UserMachineRelationship.ResourceId = SMS_R_System.ResourceId
INNER JOIN SMS_R_User ON SMS_UserMachineRelationship.UniqueUserName = SMS_R_User.UniqueUserName
LEFT OUTER JOIN SMS_G_System_ADD_REMOVE_PROGRAMS ON SMS_G_System_ADD_REMOVE_PROGRAMS.ResourceID = SMS_R_System.ResourceId AND SMS_G_System_ADD_REMOVE_PROGRAMS.ProdID = "{1441FE72-8D71-4B05-B89F-8C3DA0D2D3A6}"
LEFT OUTER JOIN SMS_G_System_ADD_REMOVE_PROGRAMS_64 ON SMS_G_System_ADD_REMOVE_PROGRAMS_64.ResourceID = SMS_R_System.ResourceId AND SMS_G_System_ADD_REMOVE_PROGRAMS_64.ProdID = "{1441FE72-8D71-4B05-B89F-8C3DA0D2D3A6}"
where (SMS_R_User.SecurityGroupName = "BAMBEL\\SCM_TST_BVO")
AND
SMS_UserMachineRelationship.Types = 1
AND
( SMS_G_System_ADD_REMOVE_PROGRAMS_64.DisplayName IS NULL AND SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName IS NULL)