У меня есть сценарий wmi, я получу системную информацию от удаленного хоста, используя wmi, некоторые хосты не включены, и он выбрасывает
Пойманное исключение: Источник: SWbemLocator
Описание: сервер RPC недоступен.
Пойманное исключение: Источник: SWbemLocator
Описание: сервер RPC недоступен
$host = array('192.168.8.1','192.168.8.2','192.168.8.3');
foreach ($host as $ip) {
$user_name = "username/domain";
$password = "password";
try {
$WbemLocator = new COM ("WbemScripting.SWbemLocator");
$ss = $WbemLocator->ConnectServer($ip, 'root\\cimv2', $user_name, $password);
$ss->Security_->ImpersonationLevel = 3;
} catch(Exception $e) {
echo 'Caught exception: ', $e->getMessage(), "\n";
}
$Win32_ComputerSystem = $ss->ExecQuery("Select * from Win32_ComputerSystem");
foreach ( $Win32_ComputerSystem as $ComputerSystem ) {
$System_Name = $ComputerSystem->Name;
$System_Domain = $ComputerSystem->Domain ;
$System_SystemType = $ComputerSystem->SystemType;
$System_Manufacturer = $ComputerSystem->Manufacturer;
$System_Model = $ComputerSystem->Model;
}
echo $System_Name;
}
Если хост 192.168.8.1 на нем будет работать хорошо, но в цикле 192.168.8.2 он не включен, то будет выдано исключение Caught: Source: SWbemLocator
Описание: сервер RPC недоступен. Пойманное исключение: Источник: SWbemLocator
Описание: RPC сервер недоступен и нарушает PHP скрипт.
пожалуйста помоги
Задача ещё не решена.
Других решений пока нет …