Распространение и выполнение сценариев PowerShell с помощью System Center 2012 Configuration Manager

imageПосле создания скрипта для изменения строки подключения к RDS-ферме в RDP файлах пользователей нам нужно этот скрипт как-то доставить и выполнить на нескольких сотнях компьютеров. В этом непростом деле нам вновь поможет System Center 2012 Configuration Manager (SCCM).

Первым делом сохраним сценарий PowerShell в доступном сетевом расположении.

Перейдём к консоль SCCM и вызовем мастер создания пакета (Package). Присвоим имя создаваемому пакету, например “KOM Package Change Server name On RDP”. Укажем, что пакет имеет исходные файлы и укажем путь к каталогу с скриптом.

image

Следующий шаг оставим по умолчанию. Потому как нам необходима стандартная программа для выполнения на компьютерах.

image

Далее мастер переходит в меню создания программы, которая и будет разворачиваться на компьютерах. Присвоим программе имя, например “KOM Program Change Server name On RDP

image

Так как выполнение программы подразумевает выполнение чего-либо в командной строке (CMD), нам необходимо указать вызов PowerShell с политикой выполнения скриптов RemoteSigned.

PowerShell -ExecutionPolicy RemoteSigned .\ChangeServerNameOnRDPFiles.ps1

Указать политику выполнения весьма желательно, иначе скрипт может быть не выполнен на клиентских компьютерах. Проверить отработку скрипта всегда можно с командной строки на компьютере:

image

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

Завершающим этапом создания программы укажем операционные системы, на которых должна работать программа.

image

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

На этом создание программы закончено.

Распространим пакет по точкам распространения и развернём на необходимую коллекцию компьютеров.

Развёртывание выполняем с обязательным намерением.

image

В расписании создадим тип “Как можно скорее”.

image

Повторный запуск оставляем по умолчанию, в данной задаче нам это подходит. Оставшиеся шаги мастера можно оставить по умолчанию.

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

image

Если в развёртывании пакетов что-то пойдёт не так, более детальную информацию можно всегда получить с клиентского лога execmrg.log (как правило расположен в каталоге %windir%\CCM\Logs).
В данном примере, распространение и выполнение прошло успешно, но раз заговорили о клиентских логах, посмотрим что там:

image

С небольшого куска лога видно, какая команда будет запущена в контексте пользователя, видны идентификаторы развёртывания и пакета, также видно расположение контента. В завершении представленного куска лога мы видим, что выполнение команды завершается с кодом 0, т.е. без ошибки.

Такую доставку и выполнение выполнение PS/VBS скриптов с помощью SCCM мы находим более удобной, чем использование logon-скриптов в групповых политиках и причина тому – возможность мониторинга статуса выполнения задачи.

Всего комментариев: 5 Комментировать

  1. Eugene Leitan /

    Большое спасибо, Виталий, за вашу статью!

  2. Eugene Leitan /

    Виталий, вопрос: параметры "Только после входа пользователя" и " как можно скорее" определяют, что задача выполнится сразу же после входа пользователя? Или есть задержка?

    1. Виталий Якоб / Автор записи

      Задача начнёт выполнятся сразу, как CM клиент обнаружит доступное развёртывание, конечно в том случае, если в системе будет пользователь, т.е. момент непосредственного входа роли не играет.
      Тест который я проводил для статьи показал, что после обнаружения развёртывания, клиенту CM потребовалось 4 секунды для выполнения задачи.
      Скорость выполнения скрипта зависит от мощности ПК.

  3. Обратная ссылка: Выполнение сценариев с обратной связью с помощью System Center 2012 Configuration Manager | Блог IT-KB /

  4. Обратная ссылка: Распространение и выполнение сценариев PowerShell с помощью System Center 2012 Configuration Manager | vMind.ru /

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