我如何(稳健地)在域中的 Windows 工作站上远程执行任务?

Zac*_*c B 5 remote-access windows windows-7 configuration-management

我什至不确定“健壮”是否是一个词。反正。

语境:

我们在局域网上有几百个 Windows 7 工作站。我们大量使用 AD/GPO 管理,但是我们需要执行许多无法通过 GPO/计划任务完成的定期和/或手动维护任务。例如,假设我想在工作站 Y 上执行程序 X(它在后台静默运行,不会打扰用户),或者说我想在工作站组 B 上按计划或在要求。将用户踢出他们的计算机来执行此操作(即使用 RDP)是禁忌,并且无论如何都不适用于组。

题:

做到这一点的最佳方法是什么,它足够强大,以至于在设置后,我可以将它提供给初学者支持人员(阅读:那些害怕命令行的人,并且对比 Firefox 更复杂的 GUI 界面感到困惑)?我是一名称职的程序员,如果有一套强大的工具或框架来完成这类任务,我会考虑自己编写一些东西,如果不需要太长时间的话。如果其他人使用某种工具或技术组合来使初学者可以进行远程工作站管理,我还没有找到。

对于那些关心“为什么”的人:我是中级 IT,并被告知实施远程管理解决方案,允许任意/计划远程执行,确认程序实际远程运行,并能够查看它们返回的内容。“为什么?” 我问,“我不能在调度器机器上使用PsExec和任务调度程序吗?” “不,”有人告诉我,“‘乔’第二周的技术人员将负责这个,他需要一些简单的图形用户界面。”

我试过的:

我曾尝试制作一堆可单击的“将文件传输到远程计算机并使用 PsExec 运行它们”批处理/VB 脚本,但这些脚本往往会崩溃并且不容易支持在可自定义组上运行。我已经玩了一点 Windows 版本的Puppet,但它不支持任意时间远程执行(尽管它能够将计算机分组为树/节点结构真的很好)。我使用了旧版本的Altiris,虽然它做了很多我想要的事情,但它的界面很糟糕,速度很慢,经常崩溃,而且管理成本可能太高了。SwiftWater 的 DMS 解决方案 做了一些我想要的,但它非常不发达,闭源(不是交易破坏者,但并不理想),我的印象是缺乏支持和可靠性。

Wes*_*ley 7

您需要的所有工具都已经存在,并且已经集成到 Windows 7 中。您只需要启用和配置它们。我建议使用WinRM /远程 PowerShell 命令

但是,这意味着您的工作将是制作一组脚本,然后可能会在它们上面放置一个按钮式 UI,以便技术人员可以轻松地将脚本对准 PC,然后单击一个按钮来执行任务。但是,根据您所说的,这应该在规范范围内。

Microsoft/Windows 深深致力于 PowerShell,也致力于远程使用 PowerShell 来修改和管理多台 PC。我认为您可以安全地使用它及其远程功能制定解决方案。PowerShell 3.0 比 2.0 具有更多的远程功能。

  • 这是所描述的最佳解决方案,但提问者可能应该考虑系统管理包。如果管理层希望优先考虑技术的易用性,那么使用 Altiris、Microsoft System Center、KACE 等来实现这一目标可能更有意义。他们更有可能提供管理层喜欢的报告(X% 的工作站安装了程序 Y)并帮助技术水平较低的技术人员。但这是一个成本效益问题,而不是严格的技术问题。 (2认同)

CC.*_*CC. 7

应要求,我打破了这个评论......

WesleyDavid 的解决方案(使用 PowerShell,大概与组策略/首选项结合使用)是解决所描述问题的最佳解决方案,但这可能不是总体上的最佳解决方案。提问者可能应该考虑一个专门的系统管理包。

如果管理层希望优先考虑技术的易用性,那么使用 Altiris、Microsoft System Center、KACE 等来实现这一目标可能更有意义。他们更有可能提供管理层喜欢的报告(X% 的工作站安装了程序 Y)并帮助技术水平较低的技术人员。此外,虽然定制的脚本集合将提供最大的灵活性,但系统管理包可能可以让您在很短的时间内完成大部分目标。如果您遇到某些特定问题,更有可能有一个支持和顾问社区可以帮助您解决问题。

当然,权衡是金钱。但鉴于提问者是中级 IT,对他来说,处理具有更直接业务需求的其他问题可能比在具有更多商品的领域工作更有用。

我的网络比这里的许多网络都小,我敢肯定:大约 120 台 PC,20 台服务器。我已经完成了脚本和 GPO,因为我不得不这样做,但我们正在寻找其中之一,只是为了补丁管理和更容易向当权者报告。