Расширьте возможности Microsoft Deployment Toolkit с помощью PowerShell

Опубликовано: 17 Марта, 2023
Расширьте возможности Microsoft Deployment Toolkit с помощью PowerShell

В настоящее время PowerShell является королем, когда дело доходит до сценариев Windows. Но Microsoft Deployment Toolkit (MDT), бесплатный набор инструментов, процессов и руководств от Microsoft для автоматизации развертывания настольных компьютеров и серверов, по-прежнему в основном разрабатывается с использованием VBScript. Однако это, вероятно, скоро изменится, как вы, возможно, прочитали в моем недавнем интервью с Майклом Нихаусом, директором по маркетингу продуктов команды Windows Commercial в Microsoft и главным мозгом, стоящим за созданием и продолжающейся разработкой MDT. Но до тех пор, пока MDT не будет полностью перестроен с нуля с использованием PowerShell, администраторы, развертывающие Microsoft Windows, не должны чувствовать, что они не могут использовать огромную мощь Windows PowerShell. Сегодня можно использовать PowerShell различными способами, когда вы используете MDT для развертывания образов Windows на ваших целевых машинах. Эта статья указывает вам на некоторые ресурсы, которые могут помочь вам в этом, а также указывает на несколько хитростей и подводных камней, о которых следует знать.

Использование PowerShell в качестве оболочки с Microsoft Deployment Toolkit

Йохан Арвидмарк, главный технический директор TrueSec, вероятно, является одним из самых известных экспертов по Microsoft Deployment Toolkit. Любой ИТ-специалист, который в течение многих лет совершал паломничество на такие мероприятия Microsoft, как MMS, TechEd или Ignite, вероятно, хотя бы раз встречался с Йоханом, если он вообще интересовался тем, как правильно и эффективно развертывать Windows. Как консультант, автор и всесторонний компьютерный специалист, специализирующийся на управлении системами и корпоративных решениях для развертывания Windows, Йохан любит делиться своими знаниями и опытом с другими ИТ-специалистами, и один из способов, которым он делает это, — через его веб-сайт под названием Deployment Research, это поддерживаемый им сайт, посвященный обмену информацией и рекомендациями по System Center, развертыванию ОС, миграции и многому другому.

Ваша первая остановка при поиске способов «расширить возможности» Microsoft Deployment Toolkit с помощью PowerShell — это сайт Йохана, и одним из положительных моментов на его сайте является этот пример того, как вы можете использовать PowerShell для запуска команды во время выполнения последовательности задач Microsoft Deployment Toolkit. для создания новых сайтов и подсетей в Active Directory, нажав на некоторые переменные MDT, чтобы прочитать путь к журналу, который использует MDT. Что действительно иллюстрирует пример Йохана, так это то, что вы можете обернуть почти любую команду Windows в сценарий PowerShell, а затем либо запустить его как приложение, либо как задачу командной строки в последовательности задач MDT. Другие примеры использования PowerShell с MDT можно легко найти, выполнив поиск на сайте Йохана.

Создание фабрики эталонных изображений

Изображение 590
Deploymentbunny.com

По-настоящему прекрасное использование PowerShell с MDT — это фабрика эталонных образов, которую Майкл Нистром создал с помощью PowerShell и которая размещена на GitHub для всех. Эта фабрика образов создает эталонные образы с помощью MDT, работающего на узле Hyper-V. В результате для каждой указанной вами последовательности задач создается и загружается одна виртуальная машина, на которой устанавливается Windows и создается полученный образ, а затем виртуальная машина останавливается и удаляется. Майкл также работает в TrueSec (той же компании, где работает Йохан) и является старшим исполнительным консультантом, а также давним званием Microsoft Most Valuable Professional (MVP), поэтому он также стремится делиться своими знаниями и опытом с мировым ИТ-сообществом. так, как это делают Microsoft MVP. Его веб-сайт и блог ласково называются The Deployment Bunny по причинам, в которые я не в курсе и не решаюсь представить, и хотя он иногда пишет там на своем родном шведском языке, он также часто пишет сообщения на английском языке. Как и Йохан, Майкл видит огромную ценность в использовании сценариев PowerShell вместе с возможностями автоматизации MDT, и вы можете найти множество примеров того, как это сделать, выполнив поиск его сообщений, помеченных как «PowerShell».

Мы написали Прайм

Еще один отличный ресурс для специалистов по развертыванию, которые хотят узнать больше об использовании PowerShell, — это сайт Scriptimus Ex Machina, автор Эндрю Барнс, известный под псевдонимом Scriptimus Prime. Эндрю — специалист по развертыванию из Манчестера, Англия, и пару лет назад он написал потрясающую гостевую редакционную статью для нашего информационного бюллетеня WServerNews на тему создания тестовых лабораторий для новой системы, разработки кода, начала карьеры. обучение или просто оценка нового программного продукта. У Эндрю также есть многочисленные примеры использования PowerShell с MDT в его блоге, и их стоит потратить некоторое время на подробное изучение, поскольку вы можете многому научиться из некоторых из них.

Скрипт не запускается

Изображение 4453 Частое использование PowerShell с Microsoft Deployment Toolkit заключается в том, что ваша последовательность задач вызывает сценарий PowerShell для выполнения некоторого действия. Распространенная проблема, с которой сталкиваются некоторые люди, заключается в том, что сценарий, который они указали в своей последовательности задач, похоже, не работает должным образом, и у многих на лбу появляются фиолетовые отметины от многочасового биения головой о стену.

Ключ к решению этой проблемы (и сохранению вашей головы) обычно заключается в том, чтобы убедиться, что вы правильно установили политику выполнения, чтобы указанный вами сценарий мог работать. Политика выполнения — это конструкция безопасности PowerShell, которая определяет, может ли пользователь загружать файлы конфигурации, включая профиль PowerShell пользователя, и запускать сценарии PowerShell на компьютере. Политика выполнения также определяет, какие сценарии (если таковые имеются) должны быть подписаны цифровой подписью, прежде чем им будет разрешено выполняться на компьютере. Политика выполнения по умолчанию для Windows — «Ограниченная», что означает, что файлы конфигурации не могут загружаться и сценарии не могут запускаться. Другие доступные варианты политики выполнения включают «Обход», при котором ничего не блокируется и не генерируются предупреждения или подсказки; «Неограниченный», когда загружаются файлы конфигурации и запускаются сценарии, но неподписанные сценарии запрашивают разрешение, прежде чем их можно будет запустить; «RemoteSigned», когда файлы конфигурации и сценарии должны быть подписаны доверенным издателем, если только они не были написаны на локальном компьютере; и «Все подписано», когда файлы конфигурации и сценарии всегда должны быть подписаны доверенным издателем, даже если они были написаны на локальном компьютере. Один трюк, который часто используется при попытке запуска сценариев PowerShell из последовательностей задач MDT, заключается в заключении сценария в следующую команду PowerShell:

powershell.exe -ExecutionPolicy Bypass -File %DEPLOYROOT%ApplicationsMyPathMyScript.ps1

Это временно установит для политики выполнения значение «Обход», чтобы ваш сценарий мог выполняться, когда он вызывается как приложение из вашей последовательности задач. Однако есть еще один способ, которым вы можете заставить свой скрипт правильно работать из последовательности задач: используйте папку «Сценарии» в вашем общем ресурсе развертывания, если вы используете MDT 2013. Что вы делаете, так это помещаете свой сценарий PowerShell в папку «Сценарии». а затем добавьте в свою последовательность задач новый шаг под названием «Выполнить сценарий PowerShell». Если вы сделаете это, Microsoft Deployment Toolkit автоматически узнает, что вам нужно запустить сценарий PowerShell, и сделает это так же, как если бы вы явно установили политику выполнения на «Обход», как в приведенном выше примере.

Если у вас есть пропускная способность

Наконец, для всех вас, помешанных на развертывании, если у вас есть около 30 ГБ свободной пропускной способности для вашего интернет-соединения, вы можете загрузить лабораторный комплект Windows 10 Deployment and Management Lab Kit из ИТ-центра Windows. Этот бесплатный комплект предоставляет вам полностью предварительно настроенную виртуальную лабораторную среду для опробования нового варианта обновления на месте для Windows 10, а также традиционных методов развертывания. Он включает ознакомительные версии Windows 10 Creators Update и связанные инструменты развертывания, такие как MDT версии 8443 и System Center Configuration Manager (SCCM) версии 1702, а также различные другие вспомогательные функции. Лабораторный комплект также включает целую кучу иллюстрированных пошаговых руководств, которые проведут вас через различные сценарии развертывания и управления, и, конечно же, PowerShell занимает видное место в некоторых из этих лабораторных работ. Просто не загружайте его, если у вас также нет нескольких сотен бесплатных часов!