mirror of
https://github.com/Icinga/icinga2.git
synced 2025-09-25 18:48:50 +02:00
CLI: Improve Windows (Server) version detection
This commit is contained in:
parent
6ef67432ef
commit
077e7ee7a5
@ -1548,21 +1548,39 @@ static bool ReleaseHelper(String *platformName, String *platformVersion)
|
|||||||
*platformName = "Windows";
|
*platformName = "Windows";
|
||||||
|
|
||||||
if (platformVersion) {
|
if (platformVersion) {
|
||||||
*platformVersion = "Vista";
|
// https://stackoverflow.com/questions/53393150/c-how-to-detect-windows-server-2019
|
||||||
if (IsWindowsVistaSP1OrGreater())
|
// https://techthoughts.info/windows-version-numbers/
|
||||||
*platformVersion = "Vista SP1";
|
if (IsWindowsServer()) {
|
||||||
if (IsWindowsVistaSP2OrGreater())
|
// 2019 Server +
|
||||||
*platformVersion = "Vista SP2";
|
if (IsWindowsVersionOrGreater(10, 0, 1803)) {
|
||||||
if (IsWindows7OrGreater())
|
*platformVersion = "Server 2019 or greater";
|
||||||
*platformVersion = "7";
|
// 2016 Server
|
||||||
if (IsWindows7SP1OrGreater())
|
} else if (IsWindowsVersionOrGreater(10, 0, 1607)) {
|
||||||
*platformVersion = "7 SP1";
|
*platformVersion = "Server 2016";
|
||||||
if (IsWindows8OrGreater())
|
// 2012 R2
|
||||||
|
} else if (IsWindowsVersionOrGreater(6, 3, 0)) {
|
||||||
|
*platformVersion = "Server 2012 R2";
|
||||||
|
// 2012
|
||||||
|
} else if (IsWindowsVersionOrGreater(6, 2, 0)) {
|
||||||
|
*platformVersion = "Server 2012";
|
||||||
|
} else {
|
||||||
|
*platformVersion = "Server 2008 (EOL)";
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
if (IsWindows10OrGreater())
|
||||||
|
*platformVersion = "10 or greater";
|
||||||
|
else if (IsWindows8Point1OrGreater())
|
||||||
|
*platformVersion = "8.1";
|
||||||
|
else if (IsWindows8OrGreater())
|
||||||
*platformVersion = "8";
|
*platformVersion = "8";
|
||||||
if (IsWindows8Point1OrGreater())
|
else if (IsWindows7SP1OrGreater())
|
||||||
*platformVersion = "8.1 or greater";
|
*platformVersion = "7 SP1 (EOL)";
|
||||||
if (IsWindowsServer())
|
else if (IsWindows7OrGreater())
|
||||||
*platformVersion += " (Server)";
|
*platformVersion = "7 (EOL)";
|
||||||
|
else
|
||||||
|
*platformVersion = "Vista (EOL)";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user