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;
 }
Exemple #6
0
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;
}