我刚看到PowerShell团队发表更新 期望状态配置的未来(DSC)。这是PowerShell Core 6.0发布后的第一个实际更新。如果没有DSC支持PowerShell核心,社区就会有很多问题。我想花点时间分享我对Powershell团队不得不说的话的看法。

完整的重写

第一个很大的带走是他们正在从头开始重写DSC。这根本不会让我感到惊讶。据我所知,DSC在Windows Server中非常紧密地集成到WMI子系统中。

DSC.是在Microsoft建立的一切都与WMI集成的时候设计的。我认为Jeffrey Snover当时的愿景是让团队在WMI中建立DSC资源。团队已经投资于该平台,应该能够利用他们已经完成的很多工作。

This is also why Get-WmiObject was one of the first CmdLets that we ever saw.

该项目是用C ++编写的

电源外壳团队竭尽全力努力做出这一点。我期待有很多内部辩论,社会也会对此有很多意见。那么C ++为这个项目带来了什么价值?

这是一个过程,它将不断地在Azure上执行。 LCM在Azure中的性能对微软非常重要。 LCM需要小,快速,不使用任何不需要的资源。在一天结束时,当Microsoft优化Azure的性能时,我们都获胜。

C ++的使用也适合杰弗里Snover对DSC的更大愿景。我们的网络和存储设备可以运行DSC的未来。而不是等待供应商写自己的LCM,而是在C ++中开放一个人可以加速这一努力。我可以看到此运行在IoT设备和其他地方,它只是不可行的.NET核心只是具有LCM。

DSC.不是PowerShell的事情

对我来说最大的带走是DSC不是PowerShell的一个特征。很明显,这些是两种不同的产品。 PowerShell一直是DSC的面貌,但DSC未来的愿景并不是一个与PowerShell有关的。我想我们需要记住,随着时间的推移,DSC增长并发展。

电源外壳可能是生成配置的最佳方式。但是一旦生成了该配置,就会全部为LCM,它并不真正需要PowerShell。我认为未来是一种很长的方式,但我不会打折它。

结束评论

我确实期待有一个开源LCM。我的C ++天在我身后,所以我不希望提交许多拉拔要求。只要DSC的未来是一个不仅是天使的一个特征,那么我会很开心。坦克这个开源是朝着正确方向的一步。

有了这一说,这就是我认为这些作品如何合适。我只是在这里猜测,所以把它带给它。