Да, как для Linux, так и для Windows вы можете создать желаемые файлы конфигурации состояния, которые могут:
- Включить или отключить роли и функции сервера
- Управление настройками реестра
- Управление файлами и каталогами
- Запускать, останавливать и управлять процессами и службами
- Управление группами и учетными записями пользователей
- Развертывание нового программного обеспечения
- Управление переменными среды
- Запускать скрипты Windows PowerShell
- Исправьте конфигурацию, которая отошла от желаемого состояния
- Узнайте фактическое состояние конфигурации на данном узле
Вот пример файла конфигурации, который активирует IIS, гарантирует, что файлы веб-сайта находятся в правильной папке, и, если какие-либо из этих вещей не установлены или отсутствуют, установите или скопируйте их соответствующим образом (обратите внимание, что $ websitefilepath предполагается как предопределено как источник для файлов сайта):
Configuration MyWebConfig
{
# A Configuration block can have zero or more Node blocks
Node "Myservername"
{
# Next, specify one or more resource blocks
# WindowsFeature is one of the built-in resources you can use in a Node block
# This example ensures the Web Server (IIS) role is installed
WindowsFeature MyRoleExample
{
Ensure = "Present" # To uninstall the role, set Ensure to "Absent"
Name = "Web-Server"
}
# File is a built-in resource you can use to manage files and directories
# This example ensures files from the source directory are present in the destination directory
File MyFileExample
{
Ensure = "Present" # You can also set Ensure to "Absent"
Type = "Directory“ # Default is “File”
Recurse = $true
# This is a path that has web files
SourcePath = $WebsiteFilePath
# The path where we want to ensure the web files are present
DestinationPath = "C:\inetpub\wwwroot"
# This ensures that MyRoleExample completes successfully before this block runs
DependsOn = "[WindowsFeature]MyRoleExample"
}
}
}
Дополнительные сведения см. В разделе « Обзор конфигурации требуемого состояния Windows PowerShell» и « Начало работы с настройкой требуемого состояния Windows PowerShell». .
Так почему бы вам использовать это вместо простого командлета install-windowsfeature? Реальная сила использования DSC вместо сценария заключается в том, что я могу определить местоположение, в котором я могу хранить конфигурации, в которые можно передавать или извлекать (относительно целевой машины), см. Режимы конфигурации Push и Pull . Конфигурация не заботится о том, является ли машина физической или виртуальной, но я полагаю, что для загрузки сервера с поддержкой DSC потребуется как минимум 2012 год.