class wmiConnect
{
// WMI connection to specified host
protected $connection;
/**
* Create a new wmi instance.
*
* @param string $host Host name or IP address to connect to
* @param string $username Local host user with rights to query WMI; normally a local admin
* @param string $password Password of local user account
* @return void New wmi object
*/
public function __construct($host = null, $username = null, $password = null) {
$wmiLocator = new \COM('WbemScripting.SWbemLocator');
try {
$this->connection = $wmiLocator->ConnectServer($host, 'root\\CIMV2', $username, $password);
$this->connection->Security_->impersonationLevel = 3;
} catch (\Exception $e) {
// -2147352567 means that we're unable to connect to the local host with a username and password.
// Attempt connection again passing null values for username and password.
if ($e->getCode() == '-2147352567') {
$this->connection = $wmiLocator->ConnectServer($host, 'root\CIMV2', null, null);
$this->connection->Security_->impersonationLevel = 3;
}
}
}
/**
* Get all properties of a WMI class.
*
* @param string $win32_class Win32 class to retrieve data from
* @return object WMI collection object
*/
public function getInfo($win32_class) {
$WMIcollection = $this->connection->ExecQuery('SELECT * FROM ' . $win32_class);
foreach ($WMIcollection as $WMIobj) {
return $WMIobj;
}
}
}
WMIのためのクラスのリストである:2012年 https://msdn.microsoft.com/en-us/library/aa394132(v=vs.85).aspx
のHyper-V上には、新しい名前空間を持っている - あなたはショートをお願いすることができますhttps://msdn.microsoft.com/en-us/library/hh850078(v=vs.85).aspx
リンクの内容の概要。人々にあなたの質問をもっと喜んで考慮させるかもしれません。 – Gordon
彼はcreat/start/stopなどの仮想マシンを管理するためのWebサイトを構築しますか?asp.netのHyper-v用WMI APIを使用しているVM ありがとうゴードン – user1213305
これはHyper-V - HyperV他の多くのものと同様に、標準的なWinQ API(WMI)を介して公開されています。したがって、問題は「PHPからWMIを使用するにはどうすればよいのですか」です。リギング。 – TomTom