私の申請要件は以下のとおりです。アプリケーションは、そのドメインの下のすべてのマシンにpingを実行するドメイン管理システムで実行され、ディスクドライブ、CPU、およびすべてのドメインシステムからのRAM詳細)を取得します。
マシンにpingを実行しようとすると、エラーが発生します。
「RPCサーバーを使用できません。(HRESULTからの例外:0x800706BA)」
リモートマシンの接続に使用しているコードは
ConnectionOptions options = new ConnectionOptions();
options.EnablePrivileges = true;
options.Impersonation = ImpersonationLevel.Impersonate;
options.Username = System.Configuration.ConfigurationSettings.AppSettings["AccessUserName"].ToString();
options.Password = System.Configuration.ConfigurationSettings.AppSettings["AccessPassword"].ToString();
options.Authority = "ntlmdomain:" + System.Configuration.ConfigurationSettings.AppSettings["DomainName"].ToString();
options.Authentication = AuthenticationLevel.Packet;
ManagementScope scope = new ManagementScope("\\\\" + sMachineIP + "\\root\\cimv2", options);
scope.Connect();
私はこれに対する解決策を見つけました。 WindowsファイアウォールでWindows Management Instrumentation (WMI)
ルールを有効にすることでそれを行いました。
- Windowsファイアウォールを開きます。
- Windowsファイアウォールを介してアプリまたは機能を許可します。
Windows Management Instrumentation(WMI)
のドメイン権限を有効にします。
他にも確認できることがいくつかあります。
(gpedit.msc)
_を開いて、Windowsファイアウォール設定の管理に使用されるGroup Policy object (GPO)
を編集します。組織。 [コンピューターの構成]、[管理用テンプレート]、[ネットワーク]、[ネットワーク接続]、[Windowsファイアウォール]の順に開き、構成するプロファイルに応じて、[ドメインプロファイル]または[標準プロファイル]を開きます。次の例外を有効にします:_Allow Remote Administration Exception
_および_Allow File and Printer Sharing Exception
_。services.msc
_を開きます。 Windowsサービスで、Remote Procedure Call (RPC)
が実行され、再起動後に自動開始に設定されていることを確認します。services.msc
_を開きます。 _Windows Management Instrumentation
_サービスが実行されており、再起動後に自動開始に設定されていることを確認してください。エラーThe RPC server is unavailable. (0x800706ba)
は、Windowsファイアウォール(またはその他のファイアウォール)がWMI接続をブロックしている場合に発生する可能性があります。 Windowsファイアウォールを介した接続 および関連記事を参照してください。
リモートマシンのWMIコントロールリモートセキュリティプロパティでドメイン管理者を追加すると、コードは正常に実行されます。以下のスクリーンショットを確認してください。
これが本当に本当だとは思えません。 WMIにアクセスする権限がない場合、通常はAccess is denied
エラー。