自动化 Windows 服务器管理的工具?Puppet?

自动化 Windows 服务器管理的工具?Puppet?

我们希望减少管理 Windows 服务器所需的时间。

我们团队负责的几乎每台服务器都运行着 Windows 的某个版本,但由于历史原因,我们负责的机器是多种平台的混合体:各种 Windows 版本的 64 位和 32 位版本。我们大约有 10 台机器。

具体来说,我们希望能够更快完成的活动包括:

  • 清除临时文件和日志文件
  • 临时重启
  • 安装和卸载 Windows 软件包

有就好(但不是必需的)

  • 监控、启动和停止 Windows 服务
  • 登录 / 登出
  • 监控盒子上的应用程序可能正在做什么(例如长时间运行的 Excel 表)

我听说 Puppet 是一个旨在帮助实现各种系统管理自动化的工具 - 这个工具是否可能有助于满足上述任何要求?据我所知,大多数 Puppet 用户都是基于 LINUX/UNIX - 在 Windows 环境中运行 Puppet 主节点是否可行?

作为 B 计划 - 我可以编写一些执行上面列出的作业的 Python 脚本并从 Jenkins 服务器调用它们。

我正在寻找您的建议,以了解什么是最省时的方法来减少我们的管理时间。

谢谢

更新0: 虽然我为一家大公司工作,但这家公司不喜欢在任何事情上花钱。我们更喜欢免费和开源解决方案。我们使用的任何东西都必须获得合法许可,而且不花钱——软件合规性是一件大事。

如果有必要,我们会找到一个功能强大的盒子并在 VirtualBox(或类似系统)中运行 Ubuntu 来运行主节点。

答案1

我发现使用 PowerShell 可以做很多事情。监控则不是很多(并不是说你不能用一些简单的 Test-Connection 和 Test-Path 类型的脚本) - 但许多其他建议对此都有很好的选择。我可能还会建议使用 icinga。

我的环境中的 PowerShell 会进行备份(使用 Microsoft Sync Framework SDK、7zip SDK 和 AWS SDK)、清除远程服务器上的日志文件夹、将 IIS 日志转储到数据库中、出于安全审计目的执行管理员密码轮换、用于停止和重新启动服务以及执行服务帐户凭据轮换。

我发现在我的 Windows 环境中安排 PowerShell 脚本是最直接、最省时且最便宜的方法。

如果你确实使用了 Puppet,请告诉我进展如何。我做了一些研究,但无法证明设置/测试时间是合理的。

答案2

如果您已经拥有“普通”Windows 服务器许可证(如标准 Windows 服务器版本),则您有权使用 Active Directory。您可以使用组策略和脚本来管理一组 Windows 服务器。无需额外费用。

对于部署软件,您可以使用http://wpkg.org,它是开源软件。一旦你掌握了它,它就非常好用。当然,你也可以使用 Active Directory 中的组策略和脚本来实现它。虽然没有 GUI(对我来说不是问题,但在你的环境中可能会有问题)。

至于监控,我非常喜欢使用http://www.opsview.com/community,它是开放核心。如果需要,您仍然可以购买支持,但主要功能在社区版中。这是 Nagios 的完美之作。但它在 Windows 中不起作用。显然,您可以使用它来监控 Windows 服务器。它作为虚拟机运行得非常好。

如果您想使用“unixy”的东西,可以在 cygwin 下运行 cfeninge。您需要先获取源代码并进行编译,但这是可行的。当然,cfengine 本身有自己的学习曲线,但如果您的时间不值一提,那么也许这是一个选择 ;-)。如果您的时间确实值钱,您可以获取适用于 Windows 的商业原生端口。

答案3

这是我使用的。它们对我来说很有效。

香料厂- 非常适合使用 Windows 的家庭监控很多东西。 微软- 有助于简化管理您的更新。 CF引擎/木偶- 这些可以做很多你想做的事情,如果你不熟悉脚本编写,那么它的学习曲线会很陡峭。

答案4

根据您拥有的服务器数量以及您的预见,您可能需要采用 MS 选项 - System Center 不是太轻量级,但却是一个非常强大的服务器管理系统。

相关内容