关闭 -i 活动目录域中的所有计算机

关闭 -i 活动目录域中的所有计算机

我不确定这是否可能,但这是我的目标:

最终,我希望能够从客户端关闭域中的所有计算机。我的帐户具有足够的权限,可以使用shutdown -I远程关闭任何一台计算机,并且我可以通过RDP访问域中的任何计算机。

但是,是否有一种自动化技术可以做到这一点?域中的计算机的名称是可预测的(computer1,computer2等),但在关机时操作2000台计算机的列表-I是相当笨拙的。

有没有办法从单个客户端关闭域中的每一台计算机?域服务器是 Windows 2003,客户端都运行 Windows XP

谢谢

答案1

您可以使用脚本来执行程序运行关机,或者你可以使用关机:

psshutdown -u <username> -t 0 -k
psexec -d -u <username> shutdown -t 0 -s

答案2

当然,您可以创建一个脚本计划任务,或者创建一个通过 PSExec 执行命令的脚本,但这是一个糟糕的想法(所以不要这样做)。

  1. 计算机生命周期中最紧张的时刻是在启动过程中。

    • 每天重启会磨损你的计算机并大幅增加硬件故障率。

  2. 当没有人使用计算机时,正是进行维护任务的理想时间。

    • AV 扫描、计划更新、磁盘碎片整理等。

  3. 无论如何,更好的解决方案是通过 GPO 调整电源设置。

    • 应该利用时间进行维护,但也可以通过 GPO 调整 PC 电源设置,使它们在夜间休眠或睡眠,这对设备来说不那么困难,对用户来说也更好(恢复速度比完全启动更快)。

答案3

为什么不直接使用组策略来创建计划任务来执行此操作呢?您甚至可以在任务上设置一个参数,使其仅在机器闲置 x 分钟后执行,这样您就不会赶走任何加班的人。

如果您确实想使用,您应该使用 /m 开关来定位远程计算机,并使用 cmd“for”循环或来自计算机文本列表的shutdown.exePowerShell 将您的列表提供给它。get-content | foreach-object {}

相关内容