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

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

我甚至不确定“robustly”是不是一个词。无论如何。

语境:

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

问题:

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

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

我尝试过的:

我尝试制作一堆一键式“将文件传输到远程计算机并使用 PsExec 运行”批处理/VB 脚本,但这些脚本往往会崩溃,并且无法轻松支持在可自定义组上运行。我尝试过 Windows 版本的木偶,但它不支持任意时间远程执行(不过,它将计算机分组为树/节点结构的能力确实很棒)。我使用了旧版本的阿尔蒂里斯,虽然它能满足我的很多要求,但它的界面很糟糕,速度很慢,经常崩溃,而且管理成本可能太高。SwiftWater 的 DMS 解决方案它能实现我想要的一些功能,但它还不完善、封闭源代码(虽然不是交易破坏者但并不理想),而且我感觉它缺乏支持和可靠性。

答案1

根据要求,我将其从评论中分离出来......

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

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

当然,代价是金钱。但考虑到提问者是中级 IT 人员,对他来说,从事其他有更直接业务需求的问题可能比从事更商品化的领域更有用。

我确信我的网络比这里的许多网络都要小:大约 120 台 PC、20 台服务器。我已经编写了脚本和 GPO,因为我不得不这样做,但我们希望运行其中一个,只是为了进行补丁管理,并更轻松地向当权者报告。

答案2

您需要的所有工具都已存在并嵌入 Windows 7。您只需要启用并配置它们。我建议温控器/远程 PowerShell 命令

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

Microsoft/Windows 非常重视 PowerShell,也致力于远程使用 PowerShell 来修改和管理多台 PC。我认为您可以放心地使用它及其远程功能来解决问题。PowerShell 3.0 比 2.0 拥有更多的远程功能。

答案3

虽然我没有提供任何免费的开源解决方案,但基于代理的解决方案(如 NetIQ AppManager 和 Microsoft SCCM)在这方面确实很出色。SCCM 几乎可以运行远程计算机可以运行的任何内容(VBS、Powershell、可执行文件等)。另一方面,AppManager 还可以,但仅限于运行 VBS 和 Basicscript。但它确实有非常好的调度选项,并且在远程计算机上运行临时作业是一种拖放式操作。

顺便说一句,我认为这个问题有点偏离了“开放讨论”的范畴,版主不太喜欢这一点。 耸肩

答案4

看一下香料厂它是一款出色的 IT 基础设施管理软件,通过一些定制脚本,它可以像 Altiris 一样运行。

相关内容