Discuss Windows 2000, NT, XP and Windows Server 2000, 2003, SBS 2003.
4 posts • Page 1 of 1
Hello, just wondering if it is possible to differentiate between NT Server & EE within a script or a program (i.e. by reading an entry from the registry or something) when you "can't have a look" at the system.
The ONLY difference that I see with enterprise edition and standard server is the NT splash screen at login (says enterprise edition), and what is available in Add/Remove programs under windows components (everything that is on the second CD... like clustering services). And even that doesn't really matter because you can install the enterprise edition services on plain server.
you can detect the difference by using the GetVersionEx ad checking for the wSuiteMask Value:empireum wrote:Hello, just wondering if it is possible to differentiate between NT Server & EE within a script or a program
if you need the full source let me know
Code: Select all
// Try calling GetVersionEx using the OSVERSIONINFOEX structure. // If that fails, try using the OSVERSIONINFO structure. ZeroMemory(@osvi,sizeof(TOSVersionInfo)); osvi.dwOSVersionInfoSize := sizeof(TOSVersionInfo); bOsVersionInfoEx := GetVersionEx(osvi); if(not bOsVersionInfoEx) then begin osvi.dwOSVersionInfoSize := VERSIONINFOSIZE; if(not GetVersionEx(osvi)) then begin Result := 'Fehler bei der Ermittlung der Windows-Version'; exit; end; end; if (osvi.dwMajorVersion = 4) and (osvi.dwMinorVersion = 0) then begin // Windows NT 4.0 if(osvi.wSuiteMask and VER_SUITE_ENTERPRISE <> 0) then Begin FProductType := ptEnterprise; Result := Result + 'Server 4.0, Enterprise Edition ' End else Begin FProductType := ptServer; Result := Result + 'Server 4.0 '; End; end;
"Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why."