您不会在文档中找到这一点,因为您(基本上)不能这样做。
我说基本上,因为从某种意义上说,你可以做到这一点DSC 部分配置 https://learn.microsoft.com/en-us/powershell/dsc/partialconfigs.
不过,这些需要不同的工作流程和不同的本地配置管理器 (LCM) 设置。它们的工作方式与您设想的创建多个配置然后逐个应用它们的方式不同。
这是设计使然;您尝试做的事情并不是 DSC 的真正用途。这个想法是你应该提供(期望的)状态您正在配置的节点的。应用多个配置很容易导致应用冲突的设置。
即使使用部分,LCM 也会生成单个配置(解析您的部分),然后立即应用所有配置。
该怎么做:
DSC 对工具的要求较低。关于如何最终生成配置或处理通用数据、角色等,它实际上没有太多可说的。因此,大部分情况下您已经必须自己动手。
应用多个单独的配置可能是您应该在自己的工作流程中注意的事情,从而最终编译每个节点的(单个)MOF。
部分内容有什么用?
我可以想到两个适合使用 Partials 的用例。
首先(这主要是微软所考虑的角色)适用于更大、更独立的组织,其中不同的团队对其知识领域拥有唯一的责任和所有权,并且您希望这些团队能够编写和控制自己的知识领域配置。
例如,操作系统团队可能会编写各种基本操作系统配置项的配置(设置时区/NTP、许可证设置),并且可能他们将 LCM 设置设置为从其余部分中提取。
DBA 团队编写用于安装和配置 SQL Server 的配置。
安全团队编写用于设置密码策略、防火墙规则和强制执行等的配置。
这些团队有自己的程序、规则和自主权。他们可能有自己的拉取服务器来发布这些内容。
第二个用例通常与第一个用例相关,是当您有多个拉取服务器,或者您想要组合推和拉时。我相信这只能通过部分实现。
Future
请注意,Windows PowerShell 不太可能再更新。 PowerShell Core(基于 .Net Core,在 Windows、Linux 和 MacOS 上运行)是目前大多数 PowerShell 开发的方向。
接着就,随即,DSC 也将发生变化,并将推出一个全新版本,可以更好地跨平台运行 https://blogs.msdn.microsoft.com/powershell/2017/09/12/dsc-future-direction-update/.
如果您要编写大量工具和工作流程代码来支持 DSC,请记住以下几点。