通过VBS获取UWF的CurrentEnabled值返回null,求解决方案
解决UWF状态获取返回null的问题
原脚本直接调用GetObject获取UWF_Filter类对象,而非类的实例,这是导致返回null的核心原因。UWF_Filter属于单实例WMI类,必须先获取其实例才能访问CurrentEnabled属性。
修正后的VBS脚本(方法一)
Set objWMIService = GetObject("winmgmts:\\.\root\StandardCimv2\embedded") Set colInstances = objWMIService.ExecQuery("SELECT * FROM UWF_Filter") For Each objFilter In colInstances WScript.Echo "UWF 当前状态: " & objFilter.CurrentEnabled Next
修正后的VBS脚本(方法二)
Set objWMIService = GetObject("winmgmts:\\.\root\StandardCimv2\embedded") Set objFilter = objWMIService.Get("UWF_Filter").Instances_().ItemIndex(0) WScript.Echo "UWF 当前状态: " & objFilter.CurrentEnabled
说明
- 两种方法均需以管理员身份运行脚本
CurrentEnabled返回布尔值:True代表UWF已启用,False代表未启用
内容的提问来源于stack exchange,提问作者Tognolo
相关产品推荐
相关产品推荐

