2011-01-11 95 views
14

Tôi đang sử dụng đoạn mã sau để kết nối với máy tính từ xa bằng WMI:WMI: Máy chủ RPC không khả dụng. (Ngoại lệ từ HRESULT: 0x800706BA) ném khi cố gắng để kết nối với máy tính từ xa

ConnectionOptions connOptions = new ConnectionOptions(); 
      connOptions.Impersonation = ImpersonationLevel.Impersonate; 
      connOptions.EnablePrivileges = true; 
      connOptions.Username = "admin"; 
      connOptions.Password = "password"; 
      ManagementScope scope = new ManagementScope(String.Format(@"\\{0}\ROOT\CIMV2", remoteMachine), connOptions); 
      scope.Connect(); 

Tôi nhận được ngoại lệ sau đây: Máy chủ RPC không có. (Ngoại lệ từ HRESULT: 0x800706BA)

Kiểm tra tất cả các bước được mô tả in this knowledgebase article, mọi thứ đều OK trên máy từ xa.

Người dùng là Quản trị viên trên máy từ xa.

thử công cụ wbemtest, kết quả tương tự

Có ai có một ý tưởng những gì đang xảy ra?

Cảm ơn trước,
Vasyl

+0

thể trùng lặp của [Kết nối WMI: lỗi 0x800706ba trên một số máy (nhưng không phải tất cả)] (http://stackoverflow.com/ Câu hỏi/369177/kết nối-to-wmi-0x800706ba-lỗi-trên-một số-máy-nhưng-không-tất cả) –

Trả lời

8

Nếu bạn dưới Win7 bạn phải chạy ứng dụng như một quản trị viên. Bạn cũng có thể thử các giá trị khác nhau cho thuộc tính connOptions.Impersonation. Bạn đã mở cổng RPC trên máy từ xa chưa? Thử tắt thiết bị tường lửa trên cả hai máy.

+2

Nếu nó hoạt động với tường lửa bị vô hiệu hóa sau đó thử gõ tại dấu nhắc lệnh: Netsh thiết lập tường lửa dịch vụ RemoteAdmin – Nickolodeon

+1

Đề xuất tốt . Cảm ơn. Cấu hình tường lửa của tôi một chút và mọi thứ hoạt động tốt – vasyl

+0

Hoặc bạn có thể thêm WMI làm ngoại lệ cho tường lửa của mình –

2

Ngoài ra, bạn cần bật quy tắc Công cụ quản lý Windows (WMI) trong tường lửa của Windows.

1] Tường lửa của Windows.
2] Cho phép ứng dụng hoặc tính năng thông qua tường lửa của cửa sổ.
3] Bật Đặc quyền cho Công cụ Quản lý Windows (WMI).

+0

Trong trường hợp của tôi, tôi đang cố gắng giết quá trình java.exe trên máy chủ từ xa qua WMI bằng C#. Giải pháp này làm việc tốt cho tôi. Cảm ơn! –

0

Tuy nhiên, bạn có vấn đề thì hãy làm theo liên kết bên dưới có thể giúp bạn.

Connecting to WMI Remotely

tôi phải đối mặt với vấn đề này thậm chí tất cả các bức tường lửa của tôi tắt.

Chạy lệnh dưới đây và sự cố của tôi được giải quyết.

  1. group = netsh advfirewall firewall rule set "cửa sổ quản lý Instrumentation (WMI)" mới cho phép = yes

  2. advfirewall netsh firewall thêm quy tắc dir = trong name = "DCOM" program = % systemroot% \ system32 \ svchost.exe dịch vụ = hành động RPCSS = phép giao thức TCP = localport = 135

  3. advfirewall netsh firewall thêm quy tắc dir = trong name = "WMI" chương trình =% syste mroot% \ system32 \ svchost.exe dịch vụ = hành động winmgmt = cho phép giao thức TCP = localport = bất kỳ

  4. advfirewall netsh firewall thêm quy tắc dir = tên = chương trình "UnsecApp" =% systemroot% \ system32 \ wbem \ unsecapp .exe action = allow

  5. netsh advfirewall firewall add rule dir = out name = "WMI_OUT" program =% systemroot% \ system32 \ svchost.dịch vụ exe = hành động winmgmt = phép giao thức TCP = localport = bất kỳ

Các vấn đề liên quan