【问题标题】:Way to get windows version without using WMI class "Win32_OperatingSystem"在不使用 WMI 类“Win32_OperatingSystem”的情况下获取 Windows 版本的方法
【发布时间】:2012-11-02 07:03:52
【问题描述】:

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

我希望这样做的原因是因为我在不支持 WMI 的 NT 机器上运行 VB 脚本,并且我无法找到可安装用于 NT 4.0 的 WMI。如果我不依赖 WMI 并且更愿意使用 VBScript 获得没有 WMI 的 Windows 版本,那也很好。

请帮忙!!

谢谢,

纳扬

【问题讨论】:

    标签: vbscript wmi


    【解决方案1】:

    您可以通过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
    

    【讨论】:

      【解决方案2】:

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

      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\\BuildLab
      

      %systemroot%\windows\system32\prodspec.ini has the information[Product Specification] 部分中,后跟“Product=”,等号后面是操作系统版本的名称。如果您需要 VBScript 代码来提取此信息,请添加注释说明,我将添加它。

      有了 RPC 可用,PSEXEC 也是一种选择。

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-10-24
        • 2021-11-29
        • 2015-01-27
        • 1970-01-01
        • 1970-01-01
        • 2016-08-13
        • 1970-01-01
        相关资源
        最近更新 更多