我在ITPro.tv上观看了关于PowerShell Desired State Configuration DSC的video。 他们介绍它,并有效地运行脚本。 不过,这也是他们第一次(真正)引入了脚本,所以我没有selectDSC和普通脚本之间的区别。 我之前做过一些正规的脚本,也许他们没有那么好的例子。 它似乎像一个普通的脚本可以安装一个angular色/function,并复制一些文件就好了。 我没有看到DSC的好处,而只是一个脚本。 除了一台机器能够在实践中轮询某种他们没有涉及的变化,就是在理论上。
DSC比传统脚本有什么好处; 比如“安装angular色,复制文件”?
正如你所说,你可以做几乎所有你会用DSC做的事情,用直接的PowerShell代码。
但是,DSC是关于configurationpipe理的。
configurationpipe理是关于使用代码和各种系统以确保系统处于特定状态的模式和实践。 参考1 2
关于configurationpipe理的一个重要的事情是幂等性的。 这意味着在configurationpipe理系统中描述您的系统的代码将被定期检查并对您的系统运行。 很多基本脚本的devise都不是很好,在第一次使用它来configuration系统时会做正确的事情,但是下一次他们会出错,重复的事情等等。 理想情况下,configurationpipe理系统会抽象出大部分testing和状态检查代码,您必须手动将其添加到脚本中,才能使脚本具有幂等性。
关于DSC和其他许多configurationpipe理系统的另一个重要的事情就是制作可重复使用的资源 ,这些资源实际上是可以与世界上任何人和所有人分享的工作。 通过这种方式,您实际上的“configuration”应该只是针对您的环境特定的几个特定细节。 这也意味着你需要写更less的代码,因为你可以重复使用已经被许多其他人使用和审查的东西。
我已经在上面列出了几个链接,但在互联网上有很多很好的网站可以find有关configurationpipe理系统的理论。 一般理论适用于所有configurationpipe理系统(puppet,chef,dsc,ansible等),这是值得学习的,值得在大多数环境中使用。