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

Sim*_*lin 5 windows-server-2003 windows-server-2008 audit

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

啊!

Boy*_*ars 5

ver在命令行上会给你版本和内部版本号。特别是对于 2008 R1/R2,您可以随时查看内部​​版本号:

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

虽然检测 2003 R1/R2 有点困难,但不确定您是否愿意?

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


Guy*_*Guy 5

您是否考虑过使用 WMI?

Win32_操作系统

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

Win32_OperatingSystem 属性:

BuildNumber :BuildNumber 属性指示操作系统的内部版本号。它可以用于比产品发布版本号更精确的版本信息示例:1381

BuildType :BuildType 属性指示用于操作系统的构建类型。示例是零售构建和检查构建。

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

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

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

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

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

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