我在獲取win2012上的hyper-v中的虛擬機的網卡資訊時,獲取不到connection屬性的值,代碼如下
ManagementObjectCollection address_set = m_settings.GetRelated("Msvm_SyntheticEthernetPortSettingData");
List<Nic> nicinfo = new List<Nic>();
foreach (ManagementObject enic in address_set)
{
string[] connections = (string[ ])enic["Connection"];
}
connections未獲取到任何資訊,開始懷疑是uac控制的問題,后來關閉uac還是獲取不到。
另外,我在查詢hyper-v的虛擬機交換機的資訊時也失敗:
string query = string.Format("Select * From Msvm_VirtualSwitch");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, new ObjectQuery(query));
ManagementObjectCollection virtualSwitchs = searcher.Get();
ManagementObject virtualSwitch = null;
foreach (ManagementObject instance in virtualSwitchs)
{
virtualSwitch = instance;
break;
}
訪問virtualSwitchs.Count會引發例外,懷疑是查詢陳述句根本沒有獲取到VirtualSwitch。
最重要的是,上述兩個問題,同樣的代碼在win2008上運行完全沒問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/136935.html
上一篇:win10更新錯誤
