static function pserverInfo() { try { $obj = new COM("Winmgmts://./root/cimv2"); } catch (exception $e) { throw new lxException("com_failed", ''); } //$list = $obj->execQuery("select TotalVisibleMemorySize, FreePhysicalMemory, FreeVirtualMemory, TotalVisibleMemorySize from Win32_OperatingSystem"); $list = $obj->execQuery("select TotalVisibleMemorySize, FreePhysicalMemory, TotalVirtualMemorySize, FreeVirtualMemory from Win32_OperatingSystem"); foreach ($list as $l) { $unit = 1024; $ret['priv_s_memory'] = $l->TotalVisibleMemorySize / $unit; $ret['used_s_memory'] = ($l->TotalVisibleMemorySize - $l->FreePhysicalMemory) / $unit; $ret['priv_s_virtual'] = $l->TotalVirtualMemorySize / $unit; $ret['used_s_virtual'] = ($l->TotalVirtualMemorySize - $l->FreeVirtualMemory) / $unit; foreach ($ret as &$vvv) { $vvv = round($vvv); } } $list = $obj->execQuery("select CurrentClockSpeed, L2CacheSize, Name from Win32_Processor"); $processornum = 0; foreach ($list as $v) { $cpu[$processornum]['used_s_cpumodel'] = $v->Name; $cpu[$processornum]['used_s_cpuspeed'] = round($v->CurrentClockSpeed / 1000, 3) . " GHz"; $cpu[$processornum]['used_s_cpucache'] = $v->L2CacheSize; $processornum++; } $ret['cpu'] = $cpu; return $ret; }
static function getServiceDetails($list) { $obj = new COM("winmgmts:{impersonationLevel=impersonate}//./root/cimv2"); $servlist = $obj->execQuery("select * from Win32_Service"); foreach ($list as &$__l) { $__l['install_state'] = 'dull'; $__l['state'] = 'off'; $__l['boot_state'] = 'off'; } foreach ($servlist as $s) { $name = $s->Properties_("Name"); $name = strtolower($name); $name = trim($name); if (isset($list[$name])) { //dprint($s->Properties_("Name")); $__l =& $list[$name]; $__l['install_state'] = 'on'; if (trim($s->Properties_("StartMode")) === 'Auto') { $__l['boot_state'] = 'on'; } if (trim($s->Properties_("State")) === 'Running') { $__l['state'] = 'on'; } } } return $list; }
static function readProcessList() { try { $obj = new COM("Winmgmts:{impersonationLevel=impersonate}!//./root/cimv2"); } catch (exception $e) { throw new lxException("com_failed", 'disk'); } try { $list = $obj->execQuery("select * from Win32_Process"); } catch (exception $e) { } $i = 0; $v = new Variant(42); foreach ($list as $l) { try { $result[$i]['nname'] = $l->ProcessId; $result[$i]['command'] = $l->Caption; $ret = $l->getOwner($v); if ($ret) { } else { $result[$i]['username'] = "******"; } $result[$i]['state'] = "ZZ"; $i++; } catch (exception $e) { $result[$i]['state'] = "ZZ"; $result[$i]['nname'] = "Error"; $result[$i]['command'] = $e->getMessage(); $result[$i]['username'] = $e->getCode(); } } return $result; }
static function getListVersion($syncserver, $list) { $list[]['componentname'] = 'mysql'; $list[]['componentname'] = 'perl'; $list[]['componentname'] = 'php'; $list[]['componentname'] = 'IIS'; $list[]['componentname'] = 'Photoshop'; $list[]['componentname'] = 'InternetExplorer'; try { $obj = new COM("Winmgmts://./root/cimv2"); } catch (exception $e) { throw new lxException("com_failed", 'disk'); } $nlist = $obj->execQuery("select * from Win32_Product"); foreach ($nlist as $k => $l) { $name = $l->Name; $sing['nname'] = $name . "___" . $syncserver; $sing['componentname'] = $name; $sing['status'] = "off"; $sing['version'] = "Not Installed"; $sing['version'] = $l->Version; $sing['status'] = "on"; /* if (isOn($sing['status'])) { $sing['full_version'] = `rpm -qi $name`; } else { $sing['full_version'] = $sing['version']; } */ $ret[] = $sing; } return $ret; }
static function getDiskUsage() { try { $obj = new COM("Winmgmts://./root/cimv2"); } catch (exception $e) { throw new lxException("com_failed", 'disk'); } $i = 0; $list = $obj->execQuery("select * from Win32_LogicalDisk"); foreach ($list as $l) { $result[$i]['nname'] = $l->Name; $result[$i]['kblock'] = round($l->Size / 1000); $result[$i]['available'] = round($l->FreeSpace / 1000); $result[$i]['used'] = $result[$i]['kblock'] - $result[$i]['available']; $result[$i]['pused'] = $result[$i]['used'] / $result[$i]['kblock']; $result[$i]['mountedon'] = $l->Name; $i++; } return $result; }
function findOperatingSystem($type = null) { if (windowsOs()) { $ret['os'] = 'windows'; try { $obj = new COM("Winmgmts://./root/cimv2"); } catch (exception $e) { //throw new lxException("com_failed", ''); return null; } $list = $obj->execQuery("select Caption from Win32_OperatingSystem"); foreach ($list as $l) { $ret['version'] = $l->Caption; $ret['pointversion'] = $l->Caption; } return $ret; } if (file_exists("/etc/fedora-release")) { $ret['os'] = 'fedora'; $ret['version'] = file_get_contents("/etc/fedora-release"); $ret['pointversion'] = find_os_pointversion(); } else { if (file_exists("/etc/redhat-release")) { $ret['os'] = 'rhel'; $ret['version'] = file_get_contents("/etc/redhat-release"); $ret['pointversion'] = find_os_pointversion(); } } /* -- not work because no driver for centos inside /usr/local/lxlabs/kloxo/file/conf $ret['os'] = find_os_distro(); $ret['version'] = find_os_release(); $ret['pointversion'] = find_os_pointversion(); */ if (lxfile_exists("__path_program_etc/install_xen") || lxfile_exists("/proc/xen")) { $ret['vpstype'] = "xen"; $ret['xenlocation'] = vg_complete(); } if ($type) { return $ret[$type]; } return $ret; }