В этой статье мы рассмотрим создание участвующих в частичной конфигурации, конфигураций. Здесь создаются две конфигурации: 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.