none
WMI遠端電腦的ConnectionOptions類別的疑問 RRS feed

所有回覆

  • HI,

     

    就是要連線到遠端的電腦時欲使用的身份驗証機制, 請參考以下的例子:

    http://msdn.microsoft.com/en-us/library/system.management.connectionoptions.authentication.aspx

     

    tihs

    2008年7月21日 下午 12:39
  • 你用 WMI 只管理本機時用不到,依照應用程式執行權限處理。

     

    你用 WMI 管理別台電腦時,需要有該台電腦的權杖,所以需要驗證。

    由於 WMI 的通訊埠是 1024 ~ 65535 隨機亂跳,一般防火牆不好設,你還要先去看 KB 的說明,限定 WMI 使用的通訊埠,才會比較好用,我自己是透過 Web Server 用 WMI 管一些遠端的電腦,就會用到這些。

    2008年7月21日 下午 05:42
  • 我後來看了一些文章說連線雙方電腦如果有開防火牆就要在兩端電腦作一些設定

    我有照這篇http://support.microsoft.com/kb/875605#XSLTH3120120123120121120120的作法去開權限

    可是還是傳回了無法取得 RPC 伺服器。 (發生例外狀況於 HRESULT: 0x800706BA) ("RPC Server Unavailable" error - 0x800706ba)

    http://msdn.microsoft.com/en-us/library/aa389286.aspx

    microsoft msdn裡也有講了很多要開權限的方法,可是我看一看他又扯到另一篇,看的我有點亂,有人有設定過嗎??

    可以講一下要設定的有哪些??我要從XP或2003連線至2003(此台架為AD)

     

    2008年7月22日 上午 08:55
  • 我說的是這個 KB

    http://support.microsoft.com/kb/154596

     

    我是開 10 個連續的 port ,再於防火牆設定,最後弄成兩個 reg 檔給 IT 人員匯入。

     

    開發過程你可以先關掉防火牆,等開發完成後再來處理防火牆,防火牆不影響程式設計。

    2008年7月22日 上午 10:24
  • 感謝樓上~~嗯我還是先寫程式

    有問題再問~~

    2008年7月22日 上午 11:21
  • ConnectionOptions options=new ConnectionOptions();
    options.Username="XXXX";

    options.Password="XXX"; 
    ManagementScope scope = new ManagementScope("\\\\" + MACHINE_NAME + "\\root\\cimv2", options);
    scope.Connect();
    ObjectQuery query = new ObjectQuery("select * from win32_ntlogevent");
    ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query);
    ManagementObjectCollection queryCollection = searcher.Get();

     

    上面是我遠端至其他電腦撈資料的程式碼,想問一下像ConnectionOptions,ManagementScope這些使用完需要做釋放的動作嗎??因為他沒有Dispose(),網路上看到的程式碼也沒有對其做釋放

    2008年7月23日 上午 06:07
  • 沒有 Disponse 的就是不需要釋放的。

     

    WMI 是 COM 物件,.Net 這邊只是幫你包裝成 Managed 類別的介面,背後還是都是呼叫 COM 物件處理。

    2008年7月23日 上午 09:40
  • ObjectQuery query = new ObjectQuery("select * from win32_ntlogevent");
    ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query);
    ManagementObjectCollection queryCollection = searcher.Get();

     

    我在這段程式碼去查詢遠端的事件檢視器,可是當筆數一多,WQL條件多加一些也試過有好轉,但筆數太多程式還是就為了等他查詢的結果而當在那邊,請問有什麼方法可以解決嗎??

     

    2008年7月25日 上午 09:38
  • 用多緒的方式讓一個執行緒跑查詢,主程式就不會無回應。

    2008年7月25日 上午 09:43
  •  

    經過測試3萬多筆的資料就會掃2分鐘左右,如果筆數數十萬筆那等的時間實在不敢想像,

    後來想想看是否可以每掃1000筆就回傳結果~~

    我在找找看有沒有其他方法,

    2008年7月25日 下午 03:05