在不使用WMI类“Win32_OperatingSystem”的情况下获取Windows版本的方法

时间:2012-11-02 07:03:52

标签: vbscript wmi

我希望在不使用VMI类 Win32_OperatingSystem 的情况下使用VBScript获取Windows版本(比如操作系统)。有办法吗?

我希望这样做的原因是因为我在NT机器上运行VB脚本,它不支持WMI,而且我无法找到适用于NT 4.0的WMI的可安装程序。如果我在WMI上不依赖并且更喜欢在没有使用VBScript的WMI的情况下获取Windows版本,那也不错。

请帮助!!

谢谢,

拿烟<​​/ P>

2 个答案:

答案 0 :(得分:0)

假设无法离开NT4并且启用了RPC,您可以从注册表中get it

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\\BuildLab
%systemroot%\windows\system32\prodspec.ini部分中的

[Product Specification] has the information,后跟“Product=”,其中OS版本的名称跟随等号。如果您需要VBScript代码来提取此信息,请添加一条注释,并将其添加到其中。

有了RPC,PSEXEC也是一个选择。

此外,如果您有活动目录,那么信息也在那里,但如果您的重新映像过程有“问题”,它可能不具有权威性。如果您需要VBS代码从AD中获取它,请发布带有此请求的评论,我将添加它。

不言而喻,你应该离开NT4。多年没有补丁。如果不可能,那么考虑虚拟化系统并将其置于一个配置良好的防火墙(如ISA或Outpost Agnitum)之后,阻止所有主机的所有协议和端口,除非基本功能明确需要。

答案 1 :(得分:0)

您可以从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