摘要:是有可能指定端口使用System.Management;
使用System.Management來查詢的VMware Server
查詢WMI時使用我在Linux下一個python腳本,查詢,使用WBEM,類多項ESXi服務器來檢查各種子系統上的警告或錯誤。在此之前,我分別編寫了一個WPF應用程序,它使用WMI查詢許多WinTel盒子的磁盤消耗等。
我想編寫一個新的WPF應用程序,該應用程序將執行與該腳本相同的功能,並且我認爲我可以在WMI中執行此操作。下面是我的測試代碼的錯誤處理,簡潔,刪除,SetOptions
是一個私人的功能,它提供的用戶名和密碼:
foreach (string hostname in Properties.Settings.Default.Hosts)
foreach (string WMIclass in Properties.Settings.Default.Classes)
{
ObjectQuery Query = new ObjectQuery("SELECT * FROM " + WMIclass);
ManagementObjectSearcher mos = GetMos(Query, hostname);
foreach (ManagementObject mo in mos.Get())
foreach (PropertyData pdc in mo.Properties)
Debug.WriteLine(pdc.Name + " \t\t: " + pdc.Value);
}
private ManagementObjectSearcher GetMos(ObjectQuery Query, string Hostname)
{
ConnectionOptions Options = SetOptions();
ManagementScope Scope = new ManagementScope("\\\\" + Hostname + "\\root\\cimv2", Options);
return new ManagementObjectSearcher(Scope, Query);
}
麻煩的是我得到的遠程服務器上不可用RPC。我認爲這是因爲我第一次嘗試在135上建立RPC調用,而不是由ESX服務器託管。我的問題是如何指定5989端口,或者有什麼簡單的方法可以在.net中使用,以執行我需要做的事情。天真地說,我認爲WMI/WBEM之間的班級結構看起來是一樣的: -/