如何以编程方式检测 Windows Server 2003/2008 版本(R1 或 R2)?

如何以编程方式检测 Windows Server 2003/2008 版本(R1 或 R2)?

我可以轻松判断服务器是 Win2k3、2k8、标准版、企业版、x86 还是 x64,但我无法找到确定它是 Release 1 还是 Release 2 的方法。HP Systems Insight Manager 可以以某种方式对其进行管理。

啊啊!

答案1

ver在命令行上输入将为您提供版本和内部版本号。特别是对于 2008 R1/R2,您可以随时检查内部版本号:

http://en.wikipedia.org/wiki/Windows_NT#Releases

虽然检测 2003 R1/R2 有点困难,但不确定您是否想要这样做?

编辑:如果您想要版本号或纯文本版本号,那么您也可以检查注册表:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion

答案2

您考虑过使用 WMI 吗?

Win32_操作系统

Win32_OperatingSystem 类表示安装在 Win32 计算机系统上的操作系统。任何可以安装在 Win32 系统上的操作系统都是此类的后代(或成员)。例如:Microsoft Windows 95。

Win32_OperatingSystem 属性:

BuildNumber:BuildNumber 属性表示操作系统的版本号。它可用于提供比产品发布版本号更精确的版本信息,例如:1381

BuildType:BuildType 属性表示操作系统使用的构建类型。例如零售构建和已检查构建。

标题:标题属性是对象的简短文本描述(单行字符串)。

描述:Description 属性提供了 Windows 操作系统的描述。某些用户界面(允许编辑此描述的界面)将其长度限制为 48 个字符。

ProductType:ProductType 属性表示系统的附加信息。此成员可以是以下值之一:1 - 工作站 2 - 域控制器 3 - 服务器

ServicePackMajorVersion :ServicePackMajorVersion 属性表示计算机系统上安装的服务包的主版本号。如果未安装服务包,则值为零。ServicePackMajorVersion 对运行 Windows 2000 及更高版本的计算机有效(否则为 NULL)。

ServicePackMinorVersion :ServicePackMinorVersion 属性表示计算机系统上安装的服务包的次版本号。如果未安装服务包,则值为零。ServicePackMinorVersion 对运行 Windows 2000 及更高版本的计算机有效(否则为 NULL)。

Version :Version 属性表示操作系统的版本号。例如:4.0

相关内容