2011-09-26 75 views
0

這是一個類似的錯誤在互聯網上,但我無法推斷出爲什麼這可能發生在我的情況。我正嘗試使用WMI從我的XP客戶機遠程安裝windwos服務。我用,WMI連接錯誤

ConnectionOptions options = new ConnectionOptions(); 
    options.EnablePrivileges = true; 
    options.Impersonation = ImpersonationLevel.Impersonate; 
    options.Username = "domainName\userName"; 
    options.Password = "pwd"; 
    string path = string.Format("\\\\{0}\\root\\cimv2", machineName); 
    ManagementScope scope = new ManagementScope(path, options); 
    scope.Connect(); 

我得到「訪問被拒絕。 (來自HRESULT的異常:0x80070005)'錯誤。我使用Windows XP SP3和嘗試連接到Windows Server 2003

我發現這些,但我沒有檢查所有的這些:

  1. 用戶帳戶而不是管理 - 用戶帳戶是本地管理員。我可以使用相同的帳戶來執行instalutil並在該機器中創建服務。這是我的應用程序服務運行的帳戶。

  2. dcomcnfg並選中啓用DCOM - 這已啓用。

  3. 在ConnectionOptions中更改已啓用的Previliges和模擬屬性。但是這沒有幫助。

  4. 防火牆設置 - 錯誤消息編號does not say this。但是,該機器與XP客戶機具有相同的域。

任何幫助將不勝感激。

感謝, 瑪尼

+0

在哪一行你會得到'訪問被拒絕'的錯誤信息?在scope.Connect()行? – Hans

+0

是的,Scope.Connect() –

+1

是您的Windows Server 2003中加入域?用戶是Windows Server 2003上的域帳戶還是本地帳戶? – Hans

回答

0

我想通了這一點。我用來遠程登錄(通過mstsc)和安裝/卸載服務的帳戶不是本地管理員帳戶。這很令人驚訝,因爲我使用相同的帳戶在該機器上安裝服務,所以假定它是本地管理員。當我將帳戶添加到本地管理員時,WMI連接也起作用。因此,爲了遠程連接到機器,您需要使用本地管理員帳戶。