VBScript Win32_OperatingSystem 类
最后修改于 2025 年 4 月 9 日
VBScript 中的 Win32_OperatingSystem
类是 Windows Management Instrumentation (WMI) 的一部分。它提供有关已安装操作系统的详细信息。此类包含版本、安装日期和系统目录等属性。对于系统管理脚本至关重要。
Win32_OperatingSystem
支持查询操作系统配置和状态。它可以检索静态信息和动态系统指标。本教程通过实际示例涵盖该类,以展示其功能。您将学习通过 VBScript 访问有价值的系统信息。
Win32_OperatingSystem 类概述
Win32_OperatingSystem
类代表安装在计算机上的操作系统。它继承自 CIM_OperatingSystem
并提供 Windows 特定的属性。该类通过 VBScript 中的 WMI 查询进行访问。
关键属性包括 Caption
、Version
和 BuildNumber
。Reboot
和 Shutdown
等方法允许系统控制。理解该类有助于创建强大的系统管理脚本。它在所有现代 Windows 版本上都可用。
检索基本操作系统信息
此示例演示如何检索基本操作系统信息。它显示操作系统名称、版本和构建号。脚本连接到 WMI 并查询 Win32_OperatingSystem
类。
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2") Set colOS = objWMIService.ExecQuery("Select * from Win32_OperatingSystem") For Each objOS in colOS WScript.Echo "OS Name: " & objOS.Caption WScript.Echo "Version: " & objOS.Version WScript.Echo "Build Number: " & objOS.BuildNumber Next
脚本使用 GetObject
连接到 WMI。它查询 Win32_OperatingSystem
的所有实例。循环输出三个关键属性:Caption
、Version
和 BuildNumber
。这些提供了操作系统的基本标识。
检查系统运行时间
此示例使用 LastBootUpTime
属性计算系统运行时间。它将 WMI 的日期时间格式转换为可读值。脚本显示系统自上次启动以来运行了多长时间。
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2") Set colOS = objWMIService.ExecQuery("Select * from Win32_OperatingSystem") For Each objOS in colOS dtmBootup = objOS.LastBootUpTime dtmLastBootupTime = WMIDateStringToDate(dtmBootup) dtmSystemUptime = DateDiff("h", dtmLastBootupTime, Now) WScript.Echo "System Uptime: " & dtmSystemUptime & " hours" Next Function WMIDateStringToDate(dtmDate) WMIDateStringToDate = CDate(Mid(dtmDate, 5, 2) & "/" & _ Mid(dtmDate, 7, 2) & "/" & Left(dtmDate, 4) _ & " " & Mid(dtmDate, 9, 2) & ":" & _ Mid(dtmDate, 11, 2) & ":" & Mid(dtmDate, 13, 2)) End Function
脚本检索 LastBootUpTime
并使用帮助函数进行转换。DateDiff
计算启动时间和当前时间之间的小时数。WMIDateStringToDate
函数处理 WMI 的独特日期时间格式。这提供了准确的运行时间测量。
检查可用物理内存
此示例展示了如何使用 FreePhysicalMemory
属性检查可用物理内存。它将值从 KB 转换为 GB 以便更好地阅读。脚本演示了监控系统资源。
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2") Set colOS = objWMIService.ExecQuery("Select * from Win32_OperatingSystem") For Each objOS in colOS freeKB = objOS.FreePhysicalMemory freeGB = Round(freeKB / 1048576, 2) WScript.Echo "Free Physical Memory: " & freeGB & " GB" Next
脚本查询 FreePhysicalMemory
,它返回千字节。通过除以 1048576 (1024*1024) 将其转换为千兆字节。Round
函数将输出格式化为两位小数。这有助于监控系统内存使用情况。
确定操作系统架构
此示例使用 OSArchitecture
属性确定操作系统是 32 位还是 64 位。它提供了关于系统类型的清晰输出。脚本展示了如何检查处理器架构兼容性。
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2") Set colOS = objWMIService.ExecQuery("Select * from Win32_OperatingSystem") For Each objOS in colOS WScript.Echo "OS Architecture: " & objOS.OSArchitecture Next
脚本直接输出 OSArchitecture
属性值。这会直接返回“32 位”或“64 位”等字符串。了解操作系统架构对于软件兼容性至关重要。该属性在 Windows Vista 及更高版本上可用。
获取系统目录路径
此示例使用 SystemDirectory
属性检索 Windows 系统目录路径。它显示了关键系统文件的位置。脚本演示了访问重要的系统路径。
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2") Set colOS = objWMIService.ExecQuery("Select * from Win32_OperatingSystem") For Each objOS in colOS WScript.Echo "System Directory: " & objOS.SystemDirectory Next
脚本输出系统目录的完整路径(通常是 C:\Windows\System32)。此信息对于涉及系统文件的文件操作很有用。无论 Windows 版本或安装位置如何,该属性都能可靠地返回正确的路径。
来源
在本文中,我们探讨了 VBScript 中的 Win32_OperatingSystem
类,涵盖了它的用法和实际应用。从基本操作系统识别到资源监控,这些示例展示了强大的系统信息检索能力。有了这些知识,您就可以创建复杂的系统管理脚本。