База полезных знаний

Создание и развёртывание конфигураций Windows Server 2016

создание_конфигураций

В этой статье мы рассмотрим создание участвующих в частичной конфигурации, конфигураций. Здесь создаются две конфигурации: IISInstall и IndexFile.

Содержание:

Создание конфигураций

Конфигурация IISInstall

Эта, ответственная за установку на сервере IIS (веб-сервер) простая конфигурация, использует ресурс WindowsFeature. Запуск конфигураций в этом и в следующем разделе - создаёт .mof файл.

В следующем примере сценарий конфигурации выполняется на сервере ServerWin10. Название .mof файла аналогично имени установленного в сценарии конфигурации узла. Участвующие в частичных конфигурациях конфигурации, имеют особое требование к именам. Они должны использовать .mof формат <ConfigurationName>. <ConfigurationID>.

Показанная в следующем примере конфигурация, для определения имени узла, использует ConfigurationData (структура данных для передачи значений сценарию конфигурации). $AllNodes.NodeName извлекает из данных конфигурации все имена узлов, в данном случае только одно, потому что есть только одно NodeName.

IISInstall.fcd03a8d-5a64-4982- 92b3-5c89680add39.MOF генерируется из следующего сценария:

$ConfigInfoIIS = @{
AllNodes = @(
@{
NodeName = "IISInstall.fcd03a8d-5a64-4982-92b3-5c89680add39"
}
)
}
Configuration IISInstall
{
Node $AllNodes.NodeName
{
WindowsFeature IIS
{
Name = "Web-server"
Ensure = "Present"
}
}
}
IISInstall -OutputPath 'C:\Program Files\WindowsPowerShell\DscService\Configuration' -ConfigurationData $ConfigInfoIIS

New-DSCCheckSum -ConfigurationPath 'C:\Program Files\WindowsPowerShell\DscService\Configuration' -OutPath 'C:\Program Files\WindowsPowerShell\DscService\Configuration'

Вы должны поместить .mof файлы на удалённый сервер WinServer10 в строго определённую папку, как правило, в C:\Program Files\WindowsPowerShell\DSCService\Configuration. При генерировании .mof файла, это местоположение папки, передаётся в качестве параметра для атрибута OutPath.

После создания .mof файла, необходимо сгенерировать файл контрольной суммы конфигурации. Контрольная сумма определяет, существует ли на pull сервере новая конфигурация или нет. К тому же, помогает проверить целостность, передаваемых между pull сервером и LCM, конфигураций.

Файл контрольной суммы должен иметь то же имя, что и .mof файл, с .mof.checksum в качестве расширения. DSC, для генерации файла контрольной суммы, предоставляет командлет New-DSCCheckSum. Параметр ConfigurationPath указывает местоположение сохраняющей конфигурации папки. Командлет создаёт файл контрольной суммы для каждой конфигурации и сохраняет контрольную сумму в заданной параметром OutPath папке.

Конфигурация IndexFile

IndexFile - это простая конфигурация, отвечающая за создание на сервере, в корневом каталоге IIS, файла Index.htm, по умолчанию (C:\Inetpubwwwroot\). Назначение этого файла - показать пользователям сообщение «Веб-сайт находится на техническом обслуживании». Он использует ресурс файла и создаёт в папке C:\Inetpub\wwwroot файл с именем Index.htm, где отображается содержимое HTML, в этом примере: «Если вы видите эту страницу, это означает, что веб-сайт находится на техобслуживании».

Следующий сценарий конфигурации запускается на сервере DemoServerWin10. Он называется IndexFile.fcd03a8d-5a64-4982-92b3- 5c89680add39, и это то же самое значение GUID, что показано ранее для примера конфигурации IISInstall.

Чтобы функционировать, Configuration IndexFile должен соответствовать определённой в Meta Configuration, частичной конфигурации.

Файл .mof создаётся на pull сервере DemoWinServer10, в папке C:\Program Files\WindowsPowerShell\DSCService\Configuration. Файл контрольной суммы для этой конфигурации генерируется так же, как и в предыдущем примере конфигурации.

Развёртывание конфигураций

После адресации LCM и соответствующего авторинга частичных конфигураций, вы применяете их на целевом сервере, в этом случае на DemoServerWin. DSC, в своём новом релизе, предоставляет командлет Update-DSCConfiguration, который получается и применяется на сервере.

Запуск этого командлета, с локальным хостом в качестве параметра ComputerName, одновременно загружает с pull сервера все определённые с помощью LCM PartialConfiguration соответствующие конфигурации (.mof content). Затем, LCM объединяет все конфигурации в одном .mof-файле и применяет его к серверу.

Следующий пример показывает применяющий конфигурации командлет Update-DSCConfiguration:

Запуск на этом сервере командлета Get-DSCConfiguration предоставляет все ресурсы (файл и WindowsFeature) и применяется как часть конфигурации DSC:

Подробнее. Чтобы больше узнать о работе с Windows PowerShell DSC, перейдите на https://msdn.microsoft.com/powershell/dsc/overview, а для получения дополнительной информации о частичной конфигурации PowerShell DSC, перейдите на https://msdn.microsoft.com/powershell/dsc/partialconfigs.

Exit mobile version