systeminfo的“操作系统名称”行会区分Windows 2003和2003 R2吗?

首先,请通过打开“控制面板”\“系统属性”并检查R2是否如下所示进行validation,以便直观地validation是否安装了2003 R2安装程序:

在这里输入图像说明

或者,R2应该在login/locking屏幕窗口中提到,如下所示:

在这里输入图像说明

然后打开CMD并执行systeminfo.exe|more 。 在第一个显示的页面上,在第一行中,您将获得如下所示的信息(取自2003的非R2安装):

在这里输入图像说明

systeminfo.exe|more的输出在2003 R2安装中执行的systeminfo.exe|more是否提到以“OS Name:”开头的行上的stringR2


一些背景信息

区分2003年和2003年R2是一个已知的困难,因为2003 R2比单独的产品更像2003年的补丁。 有一种方法可以确定是否安装了2003 R2,使用WinAPI和GetSystemMetrics()。 我见过的唯一方法是从CMD脚本中看起来有一定可靠性,可以使用WMI(通过WSH或WMIC)。

不幸的是,我不能使用WinAPI,不能依靠WMI。 因此,我想确保systeminfo.exe在继续之前不可用。

不,不是的。 Systeminfo在WIndows Server 2003 R2系统上执行时,会报告与“操作系统名称”string中的Server 2003 Non-R2系统完全相同的内容。 版本和内部版本号也是一样的。

2003 R2