Вопрос или проблема
Я пытаюсь создать коллекцию устройств в SCCM 2012, которая будет содержать только устройства, используемые пользователями, являющимися членами определенной группы безопасности пользователей в AD. Я попытался сделать это, сначала создав запрос для всех пользователей в группе, что сработало отлично:
select SMS_R_User.UserGroupName,
SMS_R_User.UserName
from SMS_R_User where SMS_R_User.UserGroupName = "Domain\\AD_Group"
Затем я создал коллекцию устройств с правилом запроса, где критерий заключался в том, что если последний вошедший пользователь устройства был частью подвыборки значений первого группового запроса, который я сделал, тогда эти устройства будут добавлены в коллекцию. Правило запроса:
select * from SMS_R_System
where SMS_R_System.LastLogonUserName
in (select SMS_R_User.UserGroupName, SMS_R_User.UserName
from SMS_R_User where SMS_R_User.UserGroupName = "Domain\\AD_Group")
Однако, когда я пытаюсь сохранить правило запроса, Configuration Manager говорит, что запрос некорректен. Я не совсем уверен, что я делаю неправильно. Может быть, есть лучший подход?
Попробуйте это:
SELECT * FROM SMS_R_SYSTEM
INNER JOIN SMS_R_uSER
ON SMS_r_system.LastLogonUserName = SMS_R_uSER.FullUserName
WHERE SMS_R_uSER.SecurityGroupName="Domain\\AD_Group";
Попробуйте это (это сработало для меня):
select * from SMS_R_System
where SMS_R_System.LastLogonUserName
in (select SMS_R_User.UserName
from SMS_R_User where SMS_R_User.UserGroupName = "Domain\\AD_Group")
Ответ или решение
Для создания коллекции устройств в SCCM 2012 на основе последних вошедших пользователей, которые являются членами определенной группы безопасности Active Directory, необходимо использовать правильный подход и SQL-запросы для извлечения нужной информации.
Шаг 1: Определение группы пользователей
Сначала вам нужно убедиться, что запрос для получения пользователей из группы безопасности работает корректно. Предположим, ваша группа безопасности называется Domain\\AD_Group
. Запрос, который вы уже пробовали, правильный, но вместо UserGroupName
следует использовать более точное поле для извлечения имени пользователя:
SELECT SMS_R_User.UserName
FROM SMS_R_User
WHERE SMS_R_User.UserGroupName = "Domain\\AD_Group"
Этот запрос должен вернуть всех пользователей, являющихся членами указанной группы.
Шаг 2: Создание коллекции устройств
Теперь перейдем к созданию коллекции устройств. Ваш второй запрос был практически правильным, но при этом следует корректно использовать подзапрос для фильтрации устройств по последнему вошедшему пользователю.
Используйте следующий SQL-запрос:
SELECT *
FROM SMS_R_System
WHERE SMS_R_System.LastLogonUserName IN
(SELECT SMS_R_User.UserName
FROM SMS_R_User
WHERE SMS_R_User.UserGroupName = "Domain\\AD_Group")
Этот запрос позволяет извлечь все устройства, имя последнего вошедшего пользователя которых совпадает с именами пользователей, принадлежащими к указанной группе.
Шаг 3: Проверка правильности выполнения запросов
После создания запроса, рекомендую проверить его в консоли SQL Management Studio или встроенном редакторе SQL SCCM, прежде чем пытаться сохранить его в Configuration Manager. Если будут ошибки, убедитесь, что ваш SQL синтаксис верен и что таблицы содержат ожидаемые данные.
Шаг 4: Создание коллекции
После того как ваш запрос успешно выполнен, выполните следующие шаги для создания коллекции в SCCM:
- Перейдите в Device Collections в вашем SCCM.
- Нажмите правой кнопкой мыши и выберите Create Device Collection.
- Укажите имя и описания для вашей новой коллекции.
- В разделе Membership Rules выберите Add Rule и затем Query Rule.
- Введите название для правила и вставьте ваш SQL-запрос в поле Query Statement.
- Нажмите OK и затем Next для завершения создания коллекции.
Заключение
Создание коллекции устройств на основе последних вошедших пользователей из определенной группы безопасности требует точного SQL-запроса, который правильно извлекает данные. Важным аспектом является корректная работа каждого из ваших запросов через проверку на этапе разработки. Не забывайте делать регулярные обновления и проверить актуальность данных. Этот подход позволит вам эффективно управлять вашими устройствами в вашей сети.