Распространение любых файлов с помощью SCCM 2012 на примере RDP-файла

imageПонадобилось мне в один прекрасный момент оперативно распространить RDP-файл подключения к серверу удалённых рабочих столов (RDS) для достаточно большого количества пользователей. Чтобы не мучать специалистов тех.поддержки ручными операциями на пользовательских компьютерах, решил попробовать реализовать задачу с помощью System Center 2012 Configuration Manager (SCCM). Итак, поехали…

Первым делом в SCCM нужно создать коллекцию на основе группы безопасности AD, которая предоставляет доступ к серверу RDS. Членство в коллекции настроим на основе запроса:

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.UserGroupName = "Domian\\My-Group"

В свойствах созданной коллекции разрешим использовать добавочные обновления для этой коллекции. Говоря простым языком, каждые 5 минут (значение по умолчанию) коллекция будет проводить инкрементальное обновление членства. Так же, на мой взгляд, будет не лишним изменить расписание полного обновления коллекции (значение по умолчанию - раз в неделю, в моём примере - каждый день).

image

Если по каким-то причинам Вас не устраивает значение по умолчанию, его всегда можно изменить в параметрах обслуживания сайта:

image

После нажатия кнопки “Изменить” откроется окно с одним параметром, который и отвечает за периодичность обновления в минутах.

image

Пока созданная нами коллекция заполняется, создадим простой CMD файл, который будет копировать RDP-файлы на рабочий стол пользователя.

REM меняем кодовую страницу на 1251, иначе кириллица будет в виде кракозябриков
chcp 1251
REM проверяем существование папки ProgramData на системном диске и в зависимости от неё копируем файл.
IF EXIST "%HOMEDRIVE%\ProgramData" (
copy "Сервер 1С.rdp" "%USERPROFILE%\Desktop" /Y
) ELSE (
copy "Сервер 1С.rdp" "%USERPROFILE%\Рабочий стол" /Y
)

Да, действительно пришлось разделить для XP и Vista, 7. К моему удивлению, при вводе "%USERPROFILE%\Рабочий стол" в стандартный проводник Windows 7 я увидел приглашение на открытие файла “рабочий стол”. Самым простым методом определения версии ОС, на мой взгляд, является проверка существования каталога ProgramData.

Скопируем 2 файла (ярлык RDP и файл CMD) в общедоступную сетевую папку и вернёмся в консоль SCCM для того чтобы создавать пакет развёртывания.

На первом шаге мастера создания пакетов, присвоим имя и укажем где хранятся файлы пакета.

image

Второй шаг оставляем с настройками по умолчанию

image

Далее откроется мастер создания программ, где присвоим программе имя и пользуясь кнопкой обзор, выберем наш CMD файл. Выставим необходимые параметры выполнения:

Тип запуска – скрытый, для того чтобы пользователи не увидели окно командной строки;
Требования – только после входа пользователя, так как мы используем переменную %USERPROFILE%;
Режим – Конечно от прав пользователя.

image

Укажем, что наша программа может работать только на клиентских операционных системах. Нет нужды копировать RDP-файл на тот же сервер, так же как и на любой другой.

image

Далее необходимо распространить пакет на точку распространения и развернуть на сформировавшуюся коллекцию пользователей…

image

Намерение развёртывания – обязательное…

image

В расписании укажем, что выполнять развёртывание  нужно “как можно скорее”. Повторный запуск, повторять только в том случае, если предыдущая попытка не удалась, так как нет смысла многократно перезаписывать файл…

image

Остальные шаги мастера можно оставить по умолчанию и наблюдать за развёртыванием.

В итоге данная программа SCCM будет отрабатываться на каждом компьютере c любым вошедшим на него пользователем, но не более одного раза. Созданная нами коллекция с пользователями постоянно обновляется и при добавлении нового пользователя в группу безопасности в AD на доступ к серверу, этот пользователь автоматически получит RPD-файл для подключения на свой рабочий стол.

Распространение именно RDP-файла принципиально лишь в нашем конкретном примере, и как нетрудно догадаться, описанным способом мы с легкостью сможем развернуть на компьютеры пользователей любые другие файлы.

Только один комментарий Комментировать

  1. Сергей /

    Спасибо большое за статью! Подскажите на последнем скриншоте Вы указываете "Повторить запуск, если предыдущая попытка не удалась", где можно узнать/изменить параметры повторного запуска, так как у меня повторная попытка развертывания так и не происходит.

Добавить комментарий