我希望在不使用 VBScript的 WMI 类Win32_OperatingSystem的情况下获得 Windows 版本(比如操作系统) 。有办法吗?
我希望这样做的原因是因为我在不支持 WMI 的 NT 机器上运行 VB 脚本,并且我无法为 NT 4.0 找到可安装的 WMI。如果我不依赖WMI 并且更喜欢使用 VBScript 获得没有 WMI 的 Windows 版本,那也很好。
请帮忙 !!
谢谢,
纳扬
假设不可能离开 NT4 并且启用了 RPC,您可以从注册表中获取它:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\\BuildLab
%systemroot%\windows\system32\prodspec.ini
有部分中的信息[Product Specification]
,后跟“ Product=
”,等号后面是操作系统版本的名称。如果您需要 VBScript 代码来提取此信息,请添加注释说明,我将添加它。
如果 RPC 可用,PSEXEC 也是一种选择。
此外,如果您有活动目录,那么信息也在那里,但如果您的重新映像过程有“问题”,它可能不具有权威性。如果您需要 VBS 代码从 AD 中提取它,请在此请求中发表评论,我会添加它。
不过,不言而喻,您应该离开 NT4。多年没有补丁。如果不可能,则考虑虚拟化系统并将其置于配置良好的防火墙(如 ISA 或 Outpost Agnitum)之后,以阻止所有主机的所有协议和端口,除非必要功能明确需要。
您可以从ver
命令中获取版本:
Set sh = CreateObject("WScript.Shell")
Set ver = sh.Exec("%COMSPEC% /c ver")
Do While ver.Status = 0
WScript.Sleep 100
Loop
version = ver.StdOut.ReadAll