Описание Desired State Configuration
Описание DSC
Жизненный цикл DSC можно условно разделить на три фазы: создание, стейджинг (я отказываюсь придумывать русский аналог) и внесение изменений.
Создание - процесс создание файлов конфигурации DSC. Вы можете использовать различные утилиты для этого (хоть notepad). ISE прекрасно подходит для этого упражнения.
Стейджинг - процесс подготовки DSC к работе. В случае Pull модели взаимодействия, целевая система связаывается с DSC сервером и передает ему уникальный идентификатор, а в ответ получает список провайдеров, в случае расхождения скачивает и устанавливает их. В Push случае сервер DSC сам устанавливает соединение с целевой системой и передает данные. В этом случае Вы должны установить провайдеры (“%SYSTEMROOT%System32WindowsPowerShellv1.0ModulesPSDesiredStateConfigurationPSProviders”).
Внесение изменений - Фаза внесения изменений. Целевая система так или иначе получает DSC конфигурацию, после чего эти данные передаются в WMI, который и вносит изменения в систему.
Применение конфигурации - Start-DscConfiguration –Path .ContosoWebsite –Wait –Verbose
Тест конфигурации - Test-DscConfiguration –CimSession $session
Для функционирования DSC необходим Windows Management Framework 4.0.
Из коробки DSC обладает следующими “resource providers”: Registry, Script, Archive, File, WindowsFeature, Package, Environment, Group, User, Log, Service, WindowsProcess.
Provider | Properties |
Archive | Destination, Path, Checksum, DependsOn, Ensure, Force, Validate |
Environment | Name, DependsOn, Ensure, Path, Value |
File | DestinationPath, Attributes, Checksum, Contents, Credential, DependsOn, Ensure, Force, MatchSource, Recurse, SourcePath, Type |
Group | GroupName, Credential, DependsOn, Description, Ensure, Members, MembersToExclude, MembersToInclude |
Log | Message, DependsOn |
Package | Name, Path, ProductId, Arguments, Credential, DependsOn, Ensure, LogPath, ReturnCode |
Registry | Key, ValueName, DependsOn, Ensure, Force, Hex, ValueData, ValueType |
Script | GetScript, SetScript, TestScript, Credential, DependsOn |
Service | Name, BuiltInAccount, Credential, DependsOn, StartupType, State |
User | UserName, DependsOn, Description, Disabled, Ensure, FullName, Password, PasswordChangeNotAllowed, PasswordChangeRequired, PasswordNeverExpires |
WindowsFeature | Name, Credential, DependsOn, Ensure, IncludeAllSubFeature, LogPath, Source |
WindowsProcess | Arguments, Path, Credential, DependsOn, Ensure, StandardErrorPath, StandardInputPath, StandardOutputPath, WorkingDirectory |