『QQ:1353814576』

WindowsServer2016环境下The type initializer for 'System.Management.ManagementPath' 异常问题处理


最近用户反馈的问题记录一下 ,描述下大致情况

最近有tk精灵的用户反馈tk精灵的脚本运行监视功能失效,会频繁启动脚本文件,反馈系统是Windows Server 2016。

The type initializer for 'System.Management.ManagementPath' 异常问题处理

同样是WindowsServer2016 但部分电脑能运行部分却不行

通过和用户远程协助发现确实存在问题,但很奇怪的是都是2016的系统有的电脑又能正常运行,本地虚拟机安装了windows server2016 Standard测试也没有问题,后面发现出问题的机子服务器是 Windows Server 2016 Standard(Evaluation),于是专门安装了这个版本,最终发现确实此版本会有问题 。

经过调试发现在调用wmi方法查询进程信息的时候会报 《The type initializer for 'System.Management.ManagementPath'》这个错误,基本上就确定问题就出在WMI控件上了,可看系统任务管理器里进程信息又是正常获取的,估计微软还是有私货接口没放出来。

百度上说是wmi需要.net 2.0以上才能运行,于是去服务器管理里面去安装,emm 居然直接提示报错无法安装,网上说是需要用dim命令行方式安装,我也试了,确实安装上了 但是wmi错误问题依旧。

期间发现2016的wmi版本居然比自己win10的低,以为找到了问题关键,于是尝试windows系统更新来升级,一夜过后更完还是不行,于是回到老路子 把.net 从低到高全部安装一遍,最后在安装到.NET Framework 4.72的时候才没有报错了,反复装系统测试确定只需要4.72重启下服务器就可以了

真搞不明白这两个版本系统到底差别在哪,一个正常,另一个居然需要安装.NET Framework才能提供完整的功能。