missterr
Новичок
PHP::работа с COM, WMI, реестром. Не работает метод.
Доброго времени суток!
Я конечно понимаю, что это извращение, но встала такая вот задача. Необходимо работать с удаленным реестром Виндовс средствами PHP. Погуглив хорошенько, решил юзать для этого http://ru.wikipedia.org/wiki/WMI. И на пол-пути столкнулся с траблом. Привожу скрипт:
Результат:
$objLocator -> object(com)#1 (0) { }
$objService -> object(variant)#2 (0) { }
$objRegistry -> object(variant)#3 (0) { }
$arr -> array(0) { }
Скрипт должен посредствам WMI вывести список ключей реестра из ветки HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall.
PHP запускается от имени администратора домена.
$arr пробовал инициализировать ($arr=array() ), а так же передавать методу по ссылке.
Причем на vbs метод работает превосходно.
Возможно кто-то сталкивался с аналогичной проблемой. Или кто знает, другие способы читать и писать удаленный реестр средствами php, буду благодарен за любую полезную информацию по данному вопросу.
Доброго времени суток!
Я конечно понимаю, что это извращение, но встала такая вот задача. Необходимо работать с удаленным реестром Виндовс средствами PHP. Погуглив хорошенько, решил юзать для этого http://ru.wikipedia.org/wiki/WMI. И на пол-пути столкнулся с траблом. Привожу скрипт:
PHP:
<?PHP $hostname = ".";
$objLocator = new COM("WbemScripting.SWbemLocator");
echo "\$objLocator -> "; var_dump($objLocator);
$strKeyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall";
$objService = $objLocator->ConnectServer($hostname, "root\default");
echo "<br> \$objService -> "; var_dump($objService);
$HKLM = 2147483650;
$objRegistry = $objService->Get("StdRegProv");
echo "<br> \$objRegistry -> "; var_dump($objRegistry);
$objRegistry->EnumKey($HKLM, $strKeyPath, $arr);
echo "<br> \$arr -> "; var_dump($arr);
foreach($arr as $srv) {
echo $srv . "<br>";
}
?>
$objLocator -> object(com)#1 (0) { }
$objService -> object(variant)#2 (0) { }
$objRegistry -> object(variant)#3 (0) { }
$arr -> array(0) { }
Скрипт должен посредствам WMI вывести список ключей реестра из ветки HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall.
PHP запускается от имени администратора домена.
$arr пробовал инициализировать ($arr=array() ), а так же передавать методу по ссылке.
Причем на vbs метод работает превосходно.
Возможно кто-то сталкивался с аналогичной проблемой. Или кто знает, другие способы читать и писать удаленный реестр средствами php, буду благодарен за любую полезную информацию по данному вопросу.