将 PowerShell DSC 与 ITSM/变更管理集成

Posted

技术标签:

【中文标题】将 PowerShell DSC 与 ITSM/变更管理集成【英文标题】:Integrating PowerShell DSC with ITSM/Change Management 【发布时间】:2021-02-05 00:42:30 【问题描述】:

我们正在组织中实施 DSC。我们能够在我们的非产品测试环境中成功创建和部署配置。

在我们在 PROD 环境中实施 DSC 之前,我们的管理层需要将其与 ITSM/变更管理集成。这样所有东西都有一张更改票(我们使用的是 ServiceNow)。我们可以在创建和部署 DSC 配置期间处理此问题。

但是,实际问题是部署 DSC 配置并且它正在运行。我们如何集成 ITSM/变更管理和日志机制?

让我举个例子,假设我们有一个 SERVER1,我们为其创建了一个配置,以确保“TapiSrv”始终处于“停止”状态。现在由于某些要求,用户 X 创建了一个更改票证来启动此服务。他已根据 Change Ticket 成功启动服务。现在,当 LCM 触发 DSC 配置以将服务恢复到其原始状态时,即“已停止”。用户不知道为什么会发生这种情况,并且在 LCM 将服务恢复到原始状态之前,我们没有任何更改票证。此更改是在没有更改票证或任何日志记录机制的情况下发生的。

我们能否在 LCM 恢复/还原对服务所做的更改之前集成一些要执行的代码,以便我们可以做两件事,以编程方式创建更改票证,并在实际恢复配置之前创建数据库条目。

我们可以编写代码来创建更改票并进行数据库条目,但我们如何在 LCM 恢复配置之前触发该代码。

这也将帮助我们生成关于服务器偏离配置的次数以及 LCM 将其恢复回来的次数的报告。

在 LCM 将任何东西恢复到原始状态之前,我不知道如何触发一些代码。

【问题讨论】:

【参考方案1】:

您可以通过仅让 LCM 进行一致性检查来做到这一点,然后当报告到达连接到 dsc 服务器的数据库时,您创建票证,在处理更改票证后,您只需手动调用 dsc apply。

【讨论】:

如何让“LCM 仅在一致性检查中”?你能进一步解释一下吗?

以上是关于将 PowerShell DSC 与 ITSM/变更管理集成的主要内容,如果未能解决你的问题,请参考以下文章

MS 发布管理 Powershell DSC 下游构建

powershell Zip自定义DSC模块,用于上传到Azure Automation DSC

PowerShell DSC学习资料

powershell 示例DSC

powershell DSC复制并使用模块运行本地

powershell DSC推动CIMSession