什么是配置
DSC 配置是定义某一特殊类型函数的 PowerShell 脚本。
配置的语法
Configuration MyDscConfiguration { #配置块
Import-DscResource -ModuleName PsDesiredStateConfiguration #引用
param #参数
(
[string[]]$ComputerName='localhost'
)
Node "TEST-PC1" { #节点块
WindowsFeature MyFeatureInstance { #资源块
Ensure = 'Present'
Name = 'RSAT'
}
WindowsFeature My2ndFeatureInstance {
Ensure = 'Present'
Name = 'Bitlocker'
}
}
}
语法说明
- 配置块是最外层的脚本块,可通过使用 Configuration 关键字并提供配置名进行定义。
- 一个或多个节点块,将定义正在配置的节点。
- 一个或多个资源块
编译配置
必须将配置编译为 MOF 文档才能执行配置。可通过调用配置(像调用 PowerShell 函数一样)来执行此操作。
MyDscConfiguration -OutputPath 'C:\DSC'
编译的时候发生什么?
调用配置时,它会:
- 解析所有变量
- 在指定目录中创建名为 NodeName.mof 的文件,其中 NodeName 为配置的目标节点名称。如果有多个节点,则将为每个节点创建一个 MOF 文件。
应用配置
使用以下命令执行,path传mof文件所在的目录
Start-DscConfiguration -Path C:\Scripts\HelloWorld -Verbose -Wait
测试配置
使用以下命令进行测试,会返回一个布尔值
Test-DSCConfiguration
高级
- 编写动态配置
- 数据配置
- 配置中的依赖
参考
https://docs.microsoft.com/zh-cn/powershell/dsc/configurations/configurations