PowerShell
Конфигурация желаемого состояния
Поиск…
Простой пример - включение WindowsFeature
configuration EnableIISFeature
{
node localhost
{
WindowsFeature IIS
{
Ensure = “Present”
Name = “Web-Server”
}
}
}
Если вы запустите эту конфигурацию в Powershell (EnableIISFeature), она создаст файл localhost.mof. Это «скомпилированная» конфигурация, которую вы можете запустить на машине.
Чтобы проверить конфигурацию DSC на вашем локальном хосте, вы можете просто вызвать следующее:
Start-DscConfiguration -ComputerName localhost -Wait
Запуск DSC (mof) на удаленной машине
Запуск DSC на удаленной машине почти так же просто. Предполагая, что вы уже настроили удаленную систему Powershell (или включили WSMAN).
$remoteComputer = "myserver.somedomain.com"
$cred = (Get-Credential)
Start-DSCConfiguration -ServerName $remoteComputer -Credential $cred -Verbose
Nb: Предполагая, что вы собрали конфигурацию для своего узла на своем локальном компьютере (и что файл myserver.somedomain.com.mof присутствует до начала настройки)
Импорт psd1 (файл данных) в локальную переменную
Иногда бывает полезно проверить файлы данных Powershell и выполнить итерацию через узлы и серверы.
Powershell 5 (WMF5) добавил эту аккуратную небольшую функцию для этого, так называемый Import-PowerShellDataFile.
Пример:
$data = Import-PowerShellDataFile -path .\MydataFile.psd1
$data.AllNodes
Список доступных ресурсов DSC
Чтобы просмотреть доступные ресурсы DSC на вашем авторизованном узле:
Get-DscResource
Это отобразит все ресурсы для всех установленных модулей (находящихся в вашем PSModulePath) на вашем авторизованном узле.
Чтобы просмотреть все доступные ресурсы DSC, которые можно найти в онлайн-источниках (PSGallery ++) на WMF 5:
Find-DSCResource
Импорт ресурсов для использования в DSC
Прежде чем вы сможете использовать ресурс в конфигурации, вы должны явно импортировать его. Просто установив его на свой компьютер, вы не сможете использовать этот ресурс неявно.
Импортируйте ресурс с помощью Import-DscResource.
Пример, показывающий, как импортировать ресурс PSDesiredStateConfiguration и ресурс файла.
Configuration InstallPreReqs
{
param(); # params to DSC goes here.
Import-DscResource PSDesiredStateConfiguration
File CheckForTmpFolder {
Type = 'Directory'
DestinationPath = 'C:\Tmp'
Ensure = "Present"
}
}
Примечание . Чтобы ресурсы DSC работали, вы должны установить модули на целевых компьютерах при запуске конфигурации. Если вы их не установили, конфигурация завершится неудачно.