Расширение PowerShell DSC
Примечание.
Прежде чем включить расширение DSC, мы хотели бы знать, что более новая версия DSC теперь общедоступна, управляемая функцией конфигурации именованных компьютеров Azure Automange. Функция конфигурации компьютера объединяет функции обработчика расширений требуемой конфигурации состояния (DSC), служба автоматизации Azure конфигурации состояния и наиболее часто запрашиваемые функции из отзывов клиентов. Конфигурация компьютера также включает поддержку гибридных компьютеров с помощью серверов с поддержкой Arc.
Обзор
Расширение DSC PowerShell для Windows публикуется и поддерживается корпорацией Майкрософт. Расширение отправляет и применяет конфигурацию DSC PowerShell к виртуальной машине Azure. Расширение DSC вызывает DSC PowerShell, чтобы применить полученную конфигурацию DSC к виртуальной машине. В этом документе подробно описаны поддерживаемые платформы, конфигурации и параметры развертывания для расширения виртуальной машины DSC для Windows.
Необходимые компоненты
Операционная система
Расширение DSC поддерживает следующие операционные системы:
Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012R2, Windows Server 2012, Windows Server 2008 R2 с пакетом обновления 1 (SP1), Windows Client 7/8.1/10
Подключение к Интернету
Для расширения DSC в Windows требуется, чтобы целевая виртуальная машина могла взаимодействовать с Azure и расположением пакета конфигурации (ZIP-файл), если он сохранен в расположении за пределами Azure.
Схема расширения
В приведенном ниже JSON-файле показана схема для части settings расширения DSC в шаблоне Azure Resource Manager.
{
"type": "Microsoft.Compute/virtualMachines/extensions",
"name": "Microsoft.Powershell.DSC",
"apiVersion": "2018-10-01",
"location": "<location>",
"properties": {
"publisher": "Microsoft.Powershell",
"type": "DSC",
"typeHandlerVersion": "2.77",
"autoUpgradeMinorVersion": true,
"settings": {
"wmfVersion": "latest",
"configuration": {
"url": "http://validURLToConfigLocation",
"script": "ConfigurationScript.ps1",
"function": "ConfigurationFunction"
},
"configurationArguments": {
"argument1": "Value1",
"argument2": "Value2"
},
"configurationData": {
"url": "https://foo.psd1"
},
"privacy": {
"dataCollection": "enable"
},
"advancedOptions": {
"forcePullAndApply": false,
"downloadMappings": {
"specificDependencyKey": "https://myCustomDependencyLocation"
}
}
},
"protectedSettings": {
"configurationArguments": {
"parameterOfTypePSCredential1": {
"userName": "UsernameValue1",
"password": "PasswordValue1"
},
"parameterOfTypePSCredential2": {
"userName": "UsernameValue2",
"password": "PasswordValue2"
}
},
"configurationUrlSasToken": "?g!bber1sht0k3n",
"configurationDataUrlSasToken": "?dataAcC355T0k3N"
}
}
}
Значения свойств
Имя. | Значение и пример | Тип данных |
---|---|---|
версия_API | 2018-10-01 | Дата |
издатель | Microsoft.Powershell.DSC | строка |
type | DSC | строка |
typeHandlerVersion | 2.77 | INT |
Значения свойства параметров
Имя. | Тип данных | Description |
---|---|---|
settings.wmfVersion | строка | Указывает версию Windows Management Framework, которую необходимо установить на виртуальной машине. Если задать для этого свойства значение latest, будет установлена последняя версия Windows Management Framework. Для этого свойства доступны только такие значения: 4.0, 5.0 и latest. Возможные значения зависят от обновлений. По умолчанию используется значение latest. |
settings.configuration.url | строка | Указывает URL-адрес расположения, из которого можно скачать ZIP-файл конфигурации DSC. Если для доступа к предоставленному URL-адресу требуется маркер SAS, для свойства protectedSettings.configurationUrlSasToken будет необходимо задать значение маркера SAS. Это свойство обязательное, если заданы свойства settings.configuration.script и (или) settings.configuration.function. |
settings.configuration.script | строка | Указывает имя файла скрипта, содержащего определение вашей конфигурации DSC. Этот скрипт должен находиться в корневом каталоге ZIP-файла, скачанного по URL-адресу, указанному в свойстве configuration.url. Это свойство обязательное, если заданы свойства settings.configuration.url и (или) settings.configuration.script. |
settings.configuration.function | строка | Указывает имя вашей конфигурации DSC. Указанную конфигурацию необходимо добавить в скрипт, заданный в свойстве configuration.script. Это свойство обязательное, если заданы свойства settings.configuration.url и (или) settings.configuration.function. |
settings.configurationArguments | Коллекция | Определяет параметры, которые необходимо передать в конфигурацию DSC. Это свойство не будет зашифровано. |
settings.configurationData.url | строка | Указывает URL-адрес расположения, из которого можно скачать файл данных конфигурации (в формате PDS1), используемый в качестве входных данных для вашей конфигурации DSC. Если для доступа к предоставленному URL-адресу требуется маркер SAS, для свойства protectedSettings.configurationDataUrlSasToken будет необходимо задать значение маркера SAS. |
settings.privacy.dataEnabled | строка | Включает или отключает сбор данных телеметрии. Для этого свойства доступны только такие значения: Enable, Disable, '' или $null. Если для этого свойства не задано значение или задано значение NULL, сбор данных телеметрии будет выполняться. |
settings.advancedOptions.forcePullAndApply | Bool | Этот параметр предназначен для упрощения работы с расширением для регистрации узлов в Azure Automation DSC. Если значение равно $true , расширение будет ожидать первого запуска конфигурации, извлеченной из службы, прежде чем будет возвращено сообщение об успешном выполнении или сбое. Если задано значение $false, то состояние, возвращаемое расширением, будет указывать только на то, был ли узел зарегистрирован в конфигурации состояния службы автоматизации Azure, и конфигурация узла не будет выполняться во время регистрации. |
settings.advancedOptions.downloadMappings | Коллекция | Определяет альтернативные расположения для скачивания зависимостей, таких как WMF и .NET. |
Значения свойств защищенных параметров
Имя. | Тип данных | Description |
---|---|---|
protectedSettings.configurationArguments | строка | Определяет параметры, которые необходимо передать в конфигурацию DSC. Это свойство будет зашифровано. |
protectedSettings.configurationUrlSasToken | строка | Указывает маркер SAS для доступа к URL-адресу, определенному в свойстве configuration.url. Это свойство будет зашифровано. |
protectedSettings.configurationDataUrlSasToken | строка | Указывает маркер SAS для доступа к URL-адресу, определенному в свойстве configurationData.url. Это свойство будет зашифровано. |
Развертывание шаблона
Расширения виртуальной машины Azure можно развернуть с помощью шаблонов Azure Resource Manager. Шаблоны идеально подходят для развертывания одной или нескольких виртуальных машин, требующих настройки после развертывания. Пример шаблона Resource Manager, включающего в себя расширение DSC для Windows, можно найти в Коллекции для быстрого запуска Azure.
Устранение неполадок и поддержка
Устранение неполадок
Данные о состоянии развертывания расширения можно получить на портале Azure, а также использовав Azure CLI. Чтобы просмотреть состояние развертывания расширений для определенной виртуальной машины, выполните следующую команду в Azure CLI.
az vm extension list --resource-group myResourceGroup --vm-name myVM -o table
Пакет расширения скачивается и развертывается в этом расположении на виртуальной машине Azure
C:\Packages\Plugins\{Extension_Name}\{Extension_Version}
Файл состояния расширения содержит коды ошибки или успеха для подсостояния и состояния, а также подробные сведения об ошибке и описание каждого запуска расширения.
C:\Packages\Plugins\{Extension_Name}\{Extension_Version}\Status\{0}.Status -> {0} being the sequence number
Журналы выходных данных расширения регистрируются в следующем каталоге:
C:\WindowsAzure\Logs\Plugins\{Extension_Name}\{Extension_Version}
Коды ошибок и их описание
Код ошибки | Значение | Возможное действие |
---|---|---|
1000 | Общая ошибка | Сообщение об этой ошибке выдается при возникновении конкретного исключения и приводится в журналах расширения. |
52 | Ошибка установки расширения | Сообщение об этой ошибке выдается при возникновении конкретного исключения. |
1002 | Ошибка установки WMF | Произошла ошибка при установке WMF. |
1004 | Недопустимый ZIP-пакет | Недопустимый ZIP-файл. Ошибка при распаковке ZIP-файла. |
1 100 | Ошибка аргумента | Указывает на проблему во входных данных, введенных пользователем. Сообщение об этой ошибке выдается при возникновении конкретного исключения |
Поддержка
Если в любой момент при изучении этой статьи вам потребуется дополнительная помощь, вы можете обратиться к экспертам по Azure на форумах MSDN Azure и Stack Overflow. Кроме того, можно зарегистрировать обращение в службу поддержки Azure. Перейдите на сайт поддержки Azure и щелкните "Получить поддержку". Дополнительные сведения об использовании службы поддержки Azure см. в статье Часто задаваемые вопросы о поддержке Microsoft Azure.