Desired State Configuration (DSC) v3 使用多个术语,这些术语在其他位置可能具有不同的定义。 本文档列出了术语及其含义,并演示了这些术语在文档中的格式设置方式。
配置术语
DSC 配置文档
定义资源实例列表及其所需状态的 JSON 或 YAML 文件。
指南
- 第一个提及:DSC 配置文档
- 后续提及: 配置文档或文档
示例
DSC 配置文档的格式可以设置为 JSON 或 YAML。
将
scope
文档中的变量定义为machine
。
资源术语
DSC 资源
用于管理组件设置的 DSC 接口。 DSC v3 支持多种资源。
指南
- 第一个提及:DSC 资源
- 后续提及: 资源
- 将特定资源的名称格式化为代码。
示例
它们都使用
Microsoft/OSInfo
DSC 资源。
可以使用 命令检查资源的定义
dsc resource list <resource_name>
。
基于命令的 DSC 资源
使用资源清单定义的资源是基于 命令 的资源。 DSC 使用清单来确定如何调用资源以及如何验证资源实例属性。
指南
- 始终使用连字符指定术语。
示例
Microsoft.Windows/Registry
是基于命令的资源。
DSC 资源组
资源组是基于命令的资源,其resources
属性采用资源实例数组并对其进行处理。 资源组可能会对其嵌套资源实例应用特殊处理,例如更改资源运行方式的用户。
指南
- 始终将术语指定为资源组。 请勿在术语中省略“group”。
示例
若要确保并行调用资源,请使用
DSC/ParallelGroup
资源组。
嵌套资源实例
资源组或资源提供程序的 属性中包含的 resources
资源实例。
指南
- 第一个提及:嵌套资源实例
- 后续提及: 嵌套实例
- 如果上下文中明确表示实例是嵌套实例,则可以省略“嵌套”前缀。
示例
将嵌套资源实例添加到实例
DSC/ParallelGroup
。type
将嵌套实例的 定义为Microsoft.Windows/Registry
。
DSC 资源提供程序
资源提供程序是一个资源组,它允许将非基于命令的资源与 DSC v3 配合使用。 每个嵌套资源实例必须是提供程序支持的资源类型。
指南
- 第一个提及:DSC 资源提供程序
- 后续提及: 提供程序
示例
若要在配置文档中使用 PowerShell DSC 资源,请添加资源提供程序的
DSC/PowerShellGroup
实例,并将 PowerShell 资源实例定义为嵌套实例。
PowerShell DSC 资源
在 PowerShell 中实现的资源。 DSC v3 支持两种类型的 PowerShell 资源。
Class-Based - 在模块中定义为 PowerShell 类的资源是基于 类 的资源。
类的成员定义基于类的资源的架构。 基于类的资源必须定义
Get()
、Set()
和Test()
方法。基于 MOF - 使用 MOF 文件 (
.mof
) 定义的资源、 ().psm1
的脚本模块文件以及可选的模块清单文件 (.psd1
) 是 基于 MOF 的资源。 仅通过Windows PowerShell支持基于 MOF 的资源。MOF 文件是资源的架构,用于定义资源的属性。 脚本模块文件定义资源的函数:
Get-TargetResource
、Set-TargetResource
和Test-TargetResource
。 这些函数映射到 Get、 Set 和 Test 方法。
指南
- 第一个提及:PowerShell DSC 资源
- 后续提及: PowerShell 资源或 PSDSC 资源。
- 讨论特定类型的 PowerShell 资源时,请始终指定类型前缀,如 基于类的资源。
- 当上下文明确或仅有关 PowerShell 资源时,可能会省略 PowerShell 和 PSDSC 前缀,例如创作基于类的资源的教程。
示例
若要在配置文档中使用 PowerShell DSC 资源,请添加资源提供程序的
DSC/PowerShellGroup
实例,并将 PowerShell 资源实例定义为嵌套实例。
为跨平台软件开发 PowerShell 资源时,请创建基于类的资源。 仅通过Windows PowerShell支持基于 MOF 的资源。
DSC 资源清单
定义基于命令的资源的元数据和实现的 JSON 文件。
指南
- 第一个提及:DSC 资源清单
- 后续提及: 清单
示例
每个基于命令的资源都必须定义 DSC 资源清单。 清单的文件名必须以
.dsc.resource.json
结尾。
DSC 资源类型名称
资源的标识名称。 完全限定的资源类型名称使用以下语法:
`<owner>[.<group>][.<area>]/<name>`
指南
- 第一个提及:DSC 资源类型名称
- 后续提及: 资源类型或类型名称。
- 讨论资源类型名称的语法时,始终将术语指定为 完全限定的资源类型名称。
示例
DSC 资源通过其资源类型名称唯一标识。
Operations
资源可对其管理的组件执行的操作。
- Get - 检索资源实例的当前状态。
- Set - 强制实施资源实例的所需状态。
- 测试 - 将资源实例的所需状态与其当前状态进行比较。
指南
- 将操作资本化。
- 当专门引用操作时,请将其格式设置为 粗体。
- 引用在 PowerShell 类中实现的操作的方法时,将方法格式化为
code
, (名称后)()
一组空括号。
示例
基于类的资源中 方法的
Set()
实现不能使用任何return
语句。
DSC 是围绕获取、测试和设置过程构建的。
属性
资源可以为组件管理的设置。 资源始终至少有一个属性。
指导
- 将属性名称的格式设置为粗体。
- 将属性值的格式设置为代码。
示例
此示例
JSON
中 Format 属性的值为 。
一般术语
Desired State Configuration
Microsoft Desired State Configuration (DSC) 是一个声明性配置平台,其中使用一种应该清楚理解的格式来描述计算机的状态,即使读者不是主题专家也是如此。
指南
- 第一提及:Microsoft Desired State Configuration (DSC) 平台
- 后续提及: DSC、DSCv3 或 DSC 平台
- 在专门在术语可能与 PowerShell DSC 或 命令混淆的上下文中引用平台时指定平台后
dsc
缀。 - 在术语历史上也应用于 PowerShell DSC 的上下文中讨论 DSC 时,请指定版本后缀。
示例
在 Microsoft Desired State Configuration (DSC) 平台中,DSC 资源表示用于管理系统设置的标准化接口。
可以使用 DSC 通过
dsc resource list
命令列出可用资源。
对于不实现 测试 操作的资源,DSCv3 可以使用综合测试验证实例的状态。
dsc
用于调用资源和管理配置文档的 DSC 命令行工具。
指南
- 在一般讨论命令行工具时,将术语指定为 DSC。
- 在术语历史上也应用于 PowerShell DSC 的上下文中讨论命令行工具时,将术语指定为 DSCv3。
- 讨论运行命令、特定子命令或区分命令行工具与概念平台时,请使用代码格式设置。
示例
dsc resource test
使用 命令调用 操作。 DSC 返回的数据包括:
- 实例的所需状态。
- 实例的实际状态。
- 实例是否处于所需状态。
- 未处于所需状态的属性列表。
PowerShell 所需状态配置
PowerShell 的Desired State Configuration功能。 在 DSCv3 之前,此术语包括 PowerShell DSC 平台、本地Configuration Manager和 PSDesiredStateConfiguration PowerShell 模块。
对于 DSCv3,此术语适用于使用 PSDesiredStateConfiguration 模块在 PowerShell 中实现的 DSC 资源。
指南
- 第一个提及:PowerShell Desired State Configuration
- 后续提及: PowerShell DSC 或 PSDSC
- 始终将 PowerShell DSC 与 DSCv3 区分开来。
- 始终按名称指定 PSDesiredStateConfiguration 模块,并在讨论 PowerShell 模块本身时强调。
示例
可以将 PowerShell DSC 资源与 DSCv3 配合使用。
开始创作基于类的 PowerShell DSC 资源来管理配置文件。 完成本教程后,你将在可用于进一步学习和自定义的模块中提供基于功能类的 PSDSC 资源。