Данные конфигурации, является способ передачи значений конфигурации.
С другой стороны, данные конфигурации сами по себе являются не чем иным, а хэш-таблицей. Вы можете отредактировать его любым способом.
Рассмотрим следующий пример.
Вы находитесь в режиме Push-и имеют следующую конфигурацию:
Configuration MyFileCreator
{
Import-DscResource –ModuleName 'PSDesiredStateConfiguration'
Node localhost
{
File sampleFile
{
Ensure = $ConfigurationData.fileEnsure
Type = 'File'
DestinationPath = 'c:\temp\file.txt'
Force = $true
}
# Configure LCM
LocalConfigurationManager
{
ConfigurationMode = 'ApplyAndAutoCorrect'
RefreshMode = 'PUSH'
RebootNodeIfNeeded = $False
}
}
}
Вы видите, что я использовал $ ConfigurationData.fileEnsure. Эта переменная относится к значению, которое я задал в ConfigurationData.
Мой ConfigurationData может выглядеть следующим образом:
$myConfigurationData = @{
AllNodes = @()
fileEnsure = 'absent'
}
Если я хочу, чтобы применить мою конфигурацию с данными конфигурации, можно выполнить следующие команды:
MyFileCreator -ConfigurationData $myConfigurationData
Start-DscConfiguration -ComputerName localhost .\MyFileCreator
Если я хочу, чтобы изменить данные конфигурации, я могу просто изменить таблицу хешей и снова применить свою конфигурацию:
$myConfigurationData.fileEnsure = 'present'
MyFileCreator -ConfigurationData $myConfigurationData
Start-DscConfiguration -ComputerName localhost .\MyFileCreator -Force
Подробнее о настройке данных конфигурации и окружающей среды вы можете узнать в official MSDN Documentation.