Windows — PHP WMI получить Владелец процесса

Я пытаюсь получить владельца нескольких процессов на Windows-машине с WMI и PHP. Я использовал эту статью, чтобы написать следующий код PHP:
https://www.sitepoint.com/php-wmi-dig-deep-windows-php/
Я могу получить свойства каждого экземпляра, но мне нужен владелец.
И я знаю, что есть метод «GetOwner» в классе Win32_Process, где я должен получить владельца (и домен или ReturnValue).
Я также попытался использовать WMI Explorer и WMI codegenerator, чтобы получить представление о том, как работает синтаксис.

Этот код должен повторять владельца каждого процесса на моей локальной машине.
Вот мой PHP-код:

<?php

$pc = "localhost"; //IP of the PC to manage
$WbemLocator = new COM ("WbemScripting.SWbemLocator");
$WbemServices = $WbemLocator->ConnectServer($pc, 'root\\cimv2');
$WbemServices->Security_->ImpersonationLevel = 3;

$userlist = $WbemServices->ExecQuery ( "Select * from Win32_Process" );
foreach ($userlist as $u) {
$owner= $u->GetOwner;  //how to get the owner or domain here?
var_dump($owner);
}

Это возвращается почти для каждого процесса:

C: \ Users \ MyUserName \ test_wmi.php: 22:
Int (0)

Что означает успешное завершение, как описано здесь: https://msdn.microsoft.com/En-US/library/aa390460.aspx

В конце я хочу сделать что-то вроде этого, но в PHP, а не в VB:
gallery.technet.microsoft.com/Monitor-Process-CPU-Pct-by-0f3a5a1c (извините, я не могу публиковать более двух ссылок)

Кто-нибудь имеет представление о синтаксисе, чтобы получить владельца (а не код возврата)?

Спасибо!

0

Решение

Наконец-то я решил эту проблему: D

<?php

$pc = "localhost"; //IP of the PC to manage

$WbemLocator = new COM ("WbemScripting.SWbemLocator");
$WbemServices = $WbemLocator->ConnectServer($pc, 'root\\cimv2');
$WbemServices->Security_->ImpersonationLevel = 3;

$userlist = $WbemServices->ExecQuery ( "Select * from Win32_Process" );
foreach ($userlist as $u) {
$owner= $u->ExecMethod_('GetOwner')->User;
var_dump($owner);
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]