为了解决与数据库引擎锁定相关的复杂问题,必须关闭我的 Windows 域中的多个主机上的某些进程。
现在我已经满足了你关于我为什么要这样做的好奇心,你能否建议:
一个可以一次性处理多台计算机之间的查看和终止任务的 GUI 程序。
taskkill
在命令中使用 IP 范围的一种方法cmd
。关于如何处理可能使用
taskkill
命令包含我的整个网络但可以高效运行而无需发现实际拥有哪些 IP 的脚本的建议。(这更像是最后的手段,因为我已经进行了研究并且没有看到 1. 或 2。)
现在想象一下不必要求 254 个用户关闭程序!
请详细说明,只要告诉我,我就会澄清一切。
答案1
您尚未指定所涉及的操作系统,但如果您在客户端运行 Windows 7+,那么您可以使用 PowerShell 远程处理来完成此操作...只要您启用了 PowerShell 远程处理:最简单的方法是通过 GPO。
从 Server 2012R2+ 运行时,下一步最简单,获取文本文件中的计算机列表并分配给变量或使用 Get-ADComputer 分配给变量,然后运行 ping 以查找哪些计算机处于在线状态。像这样
$Computers = Get-ADComputer -Filter * -SearchBase "OU=Computers,DC=LAB,DC=COM"
$Ping = foreach($Computer in $Computers){Test-NetConnection -ComputerName $Computer | 选择ComputerName,PingSucceded}
$ReachableComputers = $Ping | 其中 { $_.PingSucceeded -eq $True }
然后终止可访问计算机上的进程 foreach ( $ReachableComputer in $ReachableComputers ) { Invoke-Command -Computer $ReachableComputer { Stop-Process -Name YOUR_PROCESS } }
由于我目前不在 Windows 电脑旁,因此我尚未测试过这一点,因此如果您收到任何错误消息,请告诉我!
答案2
偶然发现了这个话题,我可以建议一下吗GUI 应用程序. 它专为管理多台计算机上的任务、服务、脚本和进程而设计。
顺便说一句,我隶属于制作该软件的公司,但是,我发布此信息是为了帮助回答原始问题,也许还能帮助其他正在寻找同样问题的人。