我目前正在管理基于 Windows Server 2008R2 的 Citrix-farm 系统。过去,我使用 Powershell 脚本来检查正在运行的用户进程并在必要时重新启动它们。
我使用带有附加参数的工具“tasklist.exe”来检查已定义的进程是否在登录用户下运行。不幸的是,tasklist.exe 已经停止工作几天了。重新启动它会导致错误消息:
“错误:未找到”或“错误:无效的类”。
由于服务器在德国,我已将消息从德语翻译成英语。在德国服务器上,它被称为
“Fehler:Nicht gefunden”和“Fehler:Ungultige Klasse”。
所以,我不确定翻译成英文是否正确。事件日志中没有错误日志。
由于它是一个生产系统,因此没有更新等变化,也没有互联网连接。
是否可能缺少 dll 注册?我已经检查了“depends.exe”是否有任何错误,但我无法确定工作服务器和非工作服务器之间的任何区别。
我还检查了启动“dcomcnfg”时是否有任何错误,但一切正常。
来自工作服务器的 tasklist.exe 的新副本不起作用。问题与可执行文件本身无关。
此链接下提供的提示已使用非阳性结果进行检查。
regsvr32 %Windir%\system32\wbem\fastprox.dll
regsvr32 %Windir%\system32\wbem\wbemprox.dll
regsvr32 %Windir%\system32\wbem\wbemsvc.dll
病毒码是最新的 (McAfee VDS 8.8 + ASE 8.8)。
有人对如何让“tasklist.exe”再次运行有任何建议吗?或者,我想要一个带有 Powershell 命令的解决方案,可以帮助重建“tasklist.exe”的功能——这不是一件容易的事,因为我不是最好的脚本编写者。?
在此先感谢您的帮助、提示或建议!
编辑:
事实上,问题与 WMI 有关。Ryan Ries 提示检查 WMI
“wbemtest”
尝试连接时导致类似的错误。
在这种情况下,我收到了一个错误代码,我可以通过它在Microsoft TechNet上找到解决方案。
该页面中列出的脚本对我不起作用,但命令
“Winmgmt /salvagerepository”
做过。
因此,感谢 Ryan 的 WMI 提示,并感谢 r.tanner.f 的解决方法,以防万一其他一切都不起作用。