您好,MG。解决此问题最好的(肯定也是最简单的)方法就是使用 WMI;毕竟,使用 WMI 可以使从远程计算机上获取此信息与从本地计算机上获取此信息一样容易。下面是一个示例脚本,此脚本可返回 Internet Explorer 的版本信息,并且还可返回一些额外的信息:Internet Explorer 的产品 ID 和加密级别:
strComputer = "."
Set objWMIService = GetObject("winmgmts://" & strComputer & _
"/root/cimv2/Applications/MicrosoftIE")
Set colIESettings = objWMIService.ExecQuery _
("Select * from MicrosoftIE_Summary")
For Each strIESetting in colIESettings
Wscript.Echo "Version: " & strIESetting.Version
Wscript.Echo "Product ID: " & strIESetting.ProductID
Wscript.Echo "Cipher strength: " & strIESetting.CipherStrength
Next
此脚本中的绝大部分只是一个普通的旧 WMI 脚本;唯一需要一点儿技巧的部分就在于连接到 WMI 服务。这是因为,我们需要进行处理的类 –“MicrosoftIE_Summary”– 恰好位于“root/cimv2/Applications/MicrosoftIE”命名空间中。请确保您将该命名空间完整地拼写出来;如果您指定 root/cimv2 命名空间(大多数 WMI 脚本的标准命名空间),此脚本将会失败,同时显示“Class not found”(找不到类)错误。
除此之外,我们只需查询“MicrosoftIE_Summary”类,即可回显版本、产品 ID 和 CipherStrength 属性的值。
尽管知道 root/cimv2/Applications/MicrosoftIE 命名空间的人不多,该命名空间几乎没有引起大家的注意,但它至少可追溯到 Internet Explorer 5.00.2920.0000,这恰好是 Windows 2000 附带的 Internet Explorer 版本。如果您对使用此命名空间中的类检索到的其他 Internet Explorer 值感兴趣,请查看可在 Script Center Script Repository(脚本中心脚本知识库)中的相关部分找到的各个脚本。