enhanced Windows OS detection and versioning

git-svn-id: http://www.observium.org/svn/observer/trunk@2099 61d68cd4-352d-0410-923a-c4978735b2b8
This commit is contained in:
Adam Amstrong
2011-04-19 11:12:51 +00:00
parent a04e4b9fae
commit 7fc657e774
2 changed files with 38 additions and 13 deletions
+2 -1
View File
@@ -2,7 +2,8 @@
if (!$os)
{
if (strstr($sysObjectId, "1.3.6.1.4.1.311.1.1.3")) { $os = "windows"; }
if (preg_match("/Windows/", $sysDescr)) { $os = "windows"; }
}
?>
?>
+36 -12
View File
@@ -15,19 +15,43 @@ if (strstr($sysDescr, "EM64")) { $hardware = "Intel x64"; }
if (strstr($sysDescr, "AMD64")) { $hardware = "AMD x64"; }
if (strstr($sysDescr, "Intel64")) { $hardware = "Intel x64"; }
if (strstr($sysDescr, "Build Number: 1057")) { $version = "NT 3.51"; }
if (strstr($sysDescr, "Build Number: 1381")) { $version = "NT 4.0"; }
if (strstr($sysDescr, "Build 2195")) { $version = "2000 (NT 5.0)"; }
if (strstr($sysDescr, "Build 2600")) { $version = "XP (NT 5.1)"; }
if (strstr($sysDescr, "Build 3790")) { $version = "XP / 2003 (NT 5.2)"; }
if (strstr($sysDescr, "Build 6000")) { $version = "Vista (NT 6.0)"; }
if (strstr($sysDescr, "Build 6001")) { $version = "Vista SP1 / 2008 (NT 6.0)"; }
if (strstr($sysDescr, "Build 6002")) { $version = "Vista SP2 / 2008 SP2 (NT 6.0)"; }
if (strstr($sysDescr, "Build 7600")) { $version = "7 / 2008 R2 (NT 6.1)"; }
if($sysObjectID == ".1.3.6.1.4.1.311.1.1.3.1.1") { ## Workstation
if (strstr($sysDescr, "Uniprocessor Free")) { $features = "Uniprocessor"; }
if (strstr($sysDescr, "Multiprocessor Free")) { $features = "Multiprocessor"; }
if (strstr($sysDescr, "Build Number: 1057")) { $version = "NT 3.51 Workstation"; }
if (strstr($sysDescr, "Build Number: 1381")) { $version = "NT 4.0 Workstation"; }
if (strstr($sysDescr, "Build 2195")) { $version = "2000 (NT 5.0)"; }
if (strstr($sysDescr, "Build 2600")) { $version = "XP (NT 5.1)"; }
if (strstr($sysDescr, "Build 3790")) { $version = "XP x64 (NT 5.2)"; }
if (strstr($sysDescr, "Build 6000")) { $version = "Vista (NT 6.0)"; }
if (strstr($sysDescr, "Build 6001")) { $version = "Vista SP1 (NT 6.0)"; }
if (strstr($sysDescr, "Build 6002")) { $version = "Vista SP2 (NT 6.0)"; }
if (strstr($sysDescr, "Build 7600")) { $version = "7 (NT 6.1)"; }
} elseif ($sysObjectID == ".1.3.6.1.4.1.311.1.1.3.1.2") { ## Server
if (strstr($sysDescr, "Build Number: 1057")) { $version = "NT Server 3.51"; }
if (strstr($sysDescr, "Build Number: 1381")) { $version = "NT Server 4.0"; }
if (strstr($sysDescr, "Build 2195")) { $version = "2000 Server (NT 5.0)"; }
if (strstr($sysDescr, "Build 3790")) { $version = "Server 2003 (NT 5.2)"; }
if (strstr($sysDescr, "Build 6001")) { $version = "Server 2008 (NT 6.0)"; }
if (strstr($sysDescr, "Build 6002")) { $version = "Server 2008 SP2 (NT 6.0)"; }
if (strstr($sysDescr, "Build 7600")) { $version = "Server 2008 R2(NT 6.1)"; }
} elseif ($sysObjectID == ".1.3.6.1.4.1.311.1.1.3.1.3") { ## Datacentre Server
if (strstr($sysDescr, "Build Number: 1057")) { $version = "NT Datacenter 3.51"; }
if (strstr($sysDescr, "Build Number: 1381")) { $version = "NT Datacenter 4.0"; }
if (strstr($sysDescr, "Build 2195")) { $version = "2000 Datacenter Server (NT 5.0)"; }
if (strstr($sysDescr, "Build 3790")) { $version = "Server 2003 Datacenter (NT 5.2)"; }
if (strstr($sysDescr, "Build 6001")) { $version = "Server 2008 Datacenter (NT 6.0)"; }
if (strstr($sysDescr, "Build 6002")) { $version = "Server 2008 Datacenter SP2 (NT 6.0)"; }
if (strstr($sysDescr, "Build 7600")) { $version = "Server 2008 Datacenter R2 (NT 6.1)"; }
}
if (strstr($sysDescr, "Uniprocessor")) { $features = "Uniprocessor"; }
if (strstr($sysDescr, "Multiprocessor")) { $features = "Multiprocessor"; }
### Detect processor type? : I.E. x86 Family 15 Model 2 Stepping 7
?>
?>