我一直在寻找完全相同的东西。
我跑过去了 Windows PowerShell所需的状态配置 这意味着要完成许多你想要用Chef / Puppet做的CM任务。
我不会对此发表任何意见,因为我还在评估它的早期 - 但如果你还在寻找一些东西,那就试一试吧。
在这里有过丰富的经验,我认为这真的取决于你需要在给定的盒子上管理什么。找到最常见的用例,并根据以下方面提出更具体的问题:最好的管理方法。像IIS这样的东西可能很棘手(至少在旧的Windows上构建)并且找到用于管理诸如IIS设置和应用程序池之类的CM工具的模块可能会受到影响 - 特别是在高级设置(工作人员已经回收泉水)时
但是,Puppet伪造了更基本的IIS设置模块,这对我来说很有用 - 我真的很喜欢这里的声明格式 - 特别是如果你管理大量的IIS服务器
Windows和配置管理的一个主要问题是缺乏合适的软件包管理解决方案 - 实际上真正方便的是名为Chocolatey的东西(参见 http://chocolatey.org/ )有一个插件可以将其用作木偶的提供者 - 使整个管理过程变得特别容易。但是我想这可以与其他CM工具集成 - 但是在Windows环境中自动安装软件有很大帮助
虽然值得一提的是,无论你最终使用什么,你都需要花费一些时间来搞清楚一些奇怪的错误 - 窗口和脚本/自动化并不是最好的。
我认为如果你能使用它会更好 Microsoft系统中心 。
它是Microsoft的一个解决方案,用于管理从台式机到服务器的Microsoft基础产品。应该试一试......
如何在Configuration Manager中部署应用程序
在System Center 2012中部署软件和操作系统
Cfengine Nova多年来一直为Windows提供稳定的原生支持(即不需要Cygwin)。
Unix上可能的一切(例如运行命令,文件复制,文件编辑等)也可以在Windows上完成,除了特定于Windows的功能之外
有关简短介绍,请参阅Nova补充手册的第11节: http://cfengine.com/files/Nova_Supplement.pdf
根据我的经验,我很高兴使用这样的工具集:
使用powershell来管理Windows配置。如果只有Windows服务器,则可以远程执行ps脚本。
如果您愿意,建议使用Puppet或Chef将您的powershell脚本分发到客户端。
如果你愿意,建议使用cygwin +(windows sshd)+ crond来管理在windows中运行的shell可能的脚本。
除非您是了解ruby的软件开发人员,否则我不推荐Chef。 Chef专为希望管理IT基础架构的软件开发人员而设计。不适合那些真正最终管理它的SysOps人。它试图将IT基础设施视为代码,这与其实际工作方式相反,这更像是数据。
Puppet对SysOps人员来说更友好,但仍然很复杂。
好消息是还有其他选择。对于Windows来说不那么重要,但像Puppet这样的项目确实能够很好地支持它。