2012-02-16 12 views
0

まずはnewbiの質問には申し訳ありません! :DPHPからWMIを使うにはどうすればいいですか

私がやったexcactly何次のトピックでpsands行うためにウェブサイトを構築したい:

http://social.technet.microsoft.com/Forums/en/windowsserver2008r2virtualization/thread/697eafc2-7778-488b-8774-7554f84de642

彼は/なレコード生成などの仮想machiensを管理/停止を開始するためにウェブサイトを構築しました... 。asp.netでHyper-v用のWMI APIを使用しているVM

今、彼はASP.NETでそれをやったのですが、私の質問はPHPで行うことができますか? 別の言葉では、APIはPHPをサポートしていますか?ここで

おかげ..

+0

リンクの内容の概要。人々にあなたの質問をもっと喜んで考慮させるかもしれません。 – Gordon

+0

彼はcreat/start/stopなどの仮想マシンを管理するためのWebサイトを構築しますか?asp.netのHyper-v用WMI APIを使用しているVM ありがとうゴードン – user1213305

+0

これはHyper-V - HyperV他の多くのものと同様に、標準的なWinQ API(WMI)を介して公開されています。したがって、問題は「PHPからWMIを使用するにはどうすればよいのですか」です。リギング。 – TomTom

答えて

0
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

関連する問題