この記事では、サイト サーバーに接続できない理由を判断するために、新規または既存の SMS 管理者コンソールのトラブルシューティングを行う方法について説明します。
元の KB 番号: 317872
まとめ
SMS を使用していて、サイト サーバーに接続しようとすると、"接続に失敗しました" というメッセージが表示されることがあります。 または、接続後にノードが表示されない場合があります。 さらに、次のようなエラーは、サーバー上のAdminUI.log ファイルに記録される可能性があります。
エラー: 考えられる UI 接続エラー コードは -2147023174 [0x800706ba] です
エラー: 考えられる UI 接続エラー コードは -2146959355 [0x80080005] です
エラー: 考えられる UI 接続エラー コードは -2147217394
エラー: 考えられる UI 接続エラー コードは -2147217389[0x80041013] メソッド GetProviderVersion を実行できませんでした。 関数 GetProviderVersion は ProviderVersion の空の文字列を返します。 Wbem 呼び出しに失敗しました: T_WbemSyncEnumToContainer_Core、リターン コード: -2147217389 ProviderVersion を取得できません。 SiteCode - SiteServerName、プロバイダーのバージョン: 接続を設定できませんでした。 エラー コード: -2147217389
Error(ConnectServer): 考えられる UI 接続エラー コードは -2147024891
エラー: 考えられる UI 接続エラー コードは -2147024891 [0x80070005] です
[994][<date><time>]: Error(CheckForDisconnect2): サービス ポインターが無効です。 WMI 接続が切断されました。 : -2147024891 [0x80070005]
詳細
SMS 管理者コンソールへのアクセス権を付与する方法
ローカルまたはリモートの SMS 管理者コンソールにアクセスするには、ユーザーが SMS Admins ローカル グループのメンバーである必要があります。 SMS Admins グループには、Root\SMS 名前空間でアカウントの有効化とリモート有効化が明示的に付与されます。 SMS Admins グループは、そのメンバーに WMI 経由で SMS プロバイダーへのアクセスを提供します。 SMS 管理者コンソールにアクセスする必要があるが、ローカル管理者である必要がない場合は、SMS 管理者グループにユーザーを追加します。 別のローカル グループを使用して SMS 管理者コンソールへのアクセスを許可する場合は、そのローカルまたはドメインのローカル グループに、SMS 管理者グループと同じ WMI アクセス許可を付与する必要もあります。 SMS 管理者コンソールへのアクセスを許可するには、次の手順に従います。
SMS 管理者コンソールへの特定のアクセスを必要とするユーザーを含むドメインのグローバル グループを作成します。
このグローバル グループまたは明示的なドメイン ユーザー アカウントをローカル SMS Admins グループに追加します。
作成したグローバル グループの SMS アクセス許可を構成します。
Note
- この手順を完了するには、管理者であり、サイトに対する完全なアクセス許可を持っている必要があります。
- データベースに接続できるが、ノードが列挙されていない場合は、SMS 管理者コンソールのセキュリティ ノードでグローバル グループまたは特定のユーザーに付与されている SMS アクセス許可を調べます。 たとえば、コレクション ノード、パッケージ ノード、またはその他のノードにコンテンツが表示されるかどうかを判断します。
付与するアクセス許可は、このグローバル グループのメンバーが実行する機能によって異なります。 アクセス許可を付与するには、SMS 管理者コンソールで [セキュリティ権限] ノードを右クリックし、[すべてのタスク] をポイントし、[SMS ユーザーの管理] をクリックしてセキュリティ ウィザードを開始します。
ウィザードを使用して、ユーザーとグループのセキュリティ設定を追加、削除、または変更します。
SMS 管理者コンソールの接続のトラブルシューティング方法
リモート SMS 管理者コンソールをテストする場合は、最新の SMS Service Pack がこのコンソールに適用されていることを確認します。 Service Pack が適用されていない場合は、次のようなエラーがAdminUI.log ファイルに記録される可能性があります。
CLASS_SMS_ContextMethods、METHOD_GetContextHandle! 接続を設定できませんでした。 エラー コード: -2147217407 Service Pack ソースからセットアップ プログラムを実行して、SMS 管理者コンソールがアップグレードする必要がある唯一のコンポーネントであるかどうかを判断します。
SMS 管理者コンソールの接続をトラブルシューティングするには、次の問題を考慮してください。
SMS サイト サーバーは Microsoft Windows Server 2003 Service Pack 1 (SP1) を実行していますか?
Windows Server 2003 SP1 では、分散 COM ユーザーという名前の新しいローカル グループが作成されます。 Windows Server 2003 Service Pack 1 の接続の問題を解決するには、SMS 管理者コンソールにリモート接続しようとしているユーザーを分散 COM ユーザー ローカル グループに追加します。
ユーザーが SMS Admins グループのメンバーであるグローバル グループのメンバーであるか、SMS Admins グループでユーザーが明示的に定義されているか。
SMS Admins グループは、SMS サイトのインストール中に作成されます。 サイトがメンバー サーバーにインストールされている場合、SMS Admins グループはローカル セキュリティ アカウント マネージャー (SAM) のローカル グループです。 サイト サーバーがドメイン コントローラーの場合、SMS Admins グループはドメイン内のローカル グループです。 このグループには、SMS サイトの作成時に Windows Management Instrumentation (WMI) リポジトリの SMS および SMS_site コード名前空間に必要なアクセス許可が付与されるため、ユーザーは SMS Admins グループに属している必要があります。
このサーバーには以前に SMS がインストールされていましたか?
サーバーに以前に SMS がインストールされている場合は、サイト サーバーの SMS 名前空間にある複数のサイト コードが SMS_ProviderLocation クラスに存在する可能性があります。 サイト サーバーに存在しなくなったサイト コードを削除します。 WBEMtest ツールを使用して、SMS_ProverLocation クラスを表示できます。
サイト サーバーで、Dcomcnfg.exe ユーティリティで定義されているプロパティ設定を確認します。
Dcomcnfg.exe ユーティリティで定義されているプロパティを表示するには、[既定のプロパティ] タブをクリックし、次の設定を確認します。
- [ このコンピューターで分散 COM を有効にする ] チェック ボックスがオンになっています。
- 既定の認証レベルは [接続] に設定されています。
- 既定の偽装レベルは [識別] に設定されています。
リモート SMS 管理者コンソールをテストする場合は、最新の SMS Service Pack がこのコンソールに適用されていることを確認します。
Service Pack ソースからセットアップ プログラムを実行して、SMS 管理者コンソールがアップグレードする必要がある唯一のコンポーネントであるかどうかを判断します。
これらの問題を検討したら、次のセクションで説明するトラブルシューティング手順を完了します。
SMS 名前空間の接続のトラブルシューティング
ユーザーが SMS 名前空間と SMS_'sitecode' 名前空間に接続できることを確認します。 これを行うには、次の手順を実行します。
- Startをクリックし、Run をクリックし、「wbemtest」と入力。
- [ Connect] をクリックし、「 \\siteserver\root\sms」と入力し、[ Login をクリックします。
- [クラスの] をクリックし[Recursive] をクリックし、[
OK ] をクリックします。 - Query の結果一覧で、SMS_ProviderLocationをダブルクリックします。
- [ Instances をクリックし、ターゲット サイト コードを含む行をダブルクリックします。 たとえば、SMS_ProviderLocation.SiteCode="xxx。
- Properties セクションで、NamespacePath 行を見つけます。 この行全体を表示するには、この行をダブルクリックする必要がある場合があります。
- NamespacePath 値をクリップボードにコピーします。 たとえば、次の値をコピーします:\\ server_name\root\sms\site_xxx。
この手順が正常に完了した場合は、サイト サーバーに接続し、SMS 名前空間を列挙できます。
サーバー接続のトラブルシューティング方法
プロバイダーが配置されているサーバーに接続できるかどうかを判断します。 サーバーは、「SMS 名前空間接続のトラブルシューティング方法」セクションで決定した NamespacePath 値で定義されています。 通常、このサーバーは同じサーバーです。
- 開いている可能性があるすべての WBEMtest ウィンドウを閉じます。
- [ Connectをクリックし、手順 7 でコピーした NamespacePath を貼り付け、 Login をクリックします。
- [クラスの] をクリックし[Recursive] をクリックし、[
OK ] をクリックします。 - Query の結果一覧で、SMS_Siteをダブルクリックします。
この手順の実行時に "アクセスが拒否されました" というエラー メッセージが表示される場合は、次のいずれかの原因が考えられます。
セキュリティ構成ウィザードは、SMS プロバイダーをホストするサーバー上で実行されています。 ただし、セキュリティ構成ウィザードは SMS プロバイダーを認識できません。 SMS プロバイダーがインストールされているサーバーでウィザードを実行する場合は、ウィザードで リモート WMI サービスを有効にする必要があります。
リモート WMI を有効にしない限り、サイト サーバーおよびその他のリモート コンソールの SMS 管理者コンソールは WMI の SMS 名前空間に接続できません。 ウィザードでリモート WMI を有効にするには、次の操作を行います。セキュリティ構成ウィザードの[管理とその他のオプションの選択]ページで WMI をを選択します。
Note
SMS サイト システムをセキュリティで保護する方法の詳細については、次の Microsoft Web サイトを参照してください。 https://technet.microsoft.com/library/cc179764.aspx
使用されるアカウントには、プロバイダーの名前空間に対する適切なアクセス許可がありません。 アクセス許可を変更または確認するには、次の手順に従います。
SMS サイトを列挙したサーバーで、 Start をクリックし、 Run をクリックし、「 wmimgmt.msc」と入力して、 OK をクリックします。
WMI コントロールを右クリックし、[ プロパティ] をクリックします。
[ Security タブで、 Root を展開し、 SMS をクリックします。
結果ウィンドウで Security をクリックしてアクセス許可を表示します。
[ Advanced をクリックし、 SMS Admins をクリックし、 View-edit をクリックします。
SMS 名前空間の場合、SMS Admins グループには次のアクセス許可が必要です。
- アカウントの有効化
- リモートの有効化
手順 a ~ e を繰り返して、SMS_ xxx 名前空間の SMS Admins グループを調べます。 (xxx はサイト コードのプレースホルダーです)。次に、 Remote Enable アクセス許可をユーザーまたはグループに付与します。 ユーザーまたはグループが SMS 名前空間のセキュリティで適切な WMI アクセス許可を持っていない場合は、次のイベントがAdminUI.log ファイルに記録される可能性があります。
その他のセキュリティの問題
次のいずれかの条件に該当する場合は、このセクションで説明するトラブルシューティング手順を使用します。
- WMI セキュリティで適切なアカウントに "リモート有効化" 権限を付与した後、コンソールに接続しようとすると、ユーザーは引き続きアクセスを拒否されます。
- 本体は部分的にしか使用できません。
Windows ファイアウォールの構成を確認する
Windows XP SP2 と Windows Server 2003 SP1 には、Windows ファイアウォール機能が含まれています。 ファイアウォールが有効になっている Windows XP SP2 ベースまたは Windows Server 2003 SP1 ベースのコンピューターでSMS 管理者コンソールを実行する場合は、Unsecapp.exe プログラムと TCP ポート 135 を有効にして Windows ファイアウォールを通過する必要があります。 これを行うには、次の手順を実行します。
[開始をクリックし、実行をクリックし、「firewall.cpl」と入力して、[
OK] をクリック 。[ General タブで、 On をクリックしてファイアウォールを有効にします。 [例外を許可しない] チェック ボックスをオフにします。
[例外] タブで、 [プログラムの追加] をクリックします。
[ファイル名ボックスに「%windir%\System32\Wbem\Unsecapp.exe」と入力し、[ 開く] をクリック。 スコープを定義する必要がある場合は、[ 変更スコープをクリックし、 OKをクリックします。 [OK] をクリックして、 [プログラムの追加] ダイアログ ボックスを閉じます。
[ プログラムとサービス ] ボックスの一覧で、[ Unsecapp.exe ] チェック ボックスをオンにします。
[ポート 追加] をクリック。
[ ポート番号 ボックスに「 135」と入力します。 TCP を選択し、Name ボックスに例外の名前を入力します。 スコープを定義する必要がある場合は、[ 変更スコープをクリックし、 OKをクリックします。 [ OK をクリックして、 [ポートの追加 ] ダイアログ ボックスを閉じます。
プログラムとサービスの一覧で、手順 7 で追加した例外のチェック ボックスをオンにします。
[OK] をクリックします。
DCOM のセキュリティ設定を確認する
警告
Unsecapp.exe プログラムと TCP ポート 135 を例外リストに追加して、この問題を解決できない場合を除き、これらの変更を行わないでください。
重要
このセクション、方法、またはタスクには、レジストリの編集方法が記載されています。 レジストリを誤って変更すると、深刻な問題が発生することがあります。 したがって、次の手順を注意深く実行してください。 保護のために、レジストリを変更する前に、バックアップします。 その後、問題が起こった場合は、レジストリを復元できます。 レジストリをバックアップおよび復元する方法の詳細については、マイクロソフト サポート技術情報の記事を表示するには、次の資料番号をクリックします。 322756 Windows でレジストリをバックアップおよび復元する方法
これらの例外を Windows ファイアウォールに追加しても、この問題を解決できない場合があります。 クライアント コンピューターの DCOM で匿名のリモート アクセス許可を設定する必要がある場合があります。 SMS 管理者コンソールを実行している Windows XP SP2 ベースのコンピューターでこれを行うには、次の手順に従います。
[開始をクリックし、Run をクリックし、「dcomcnfg.exe」と入力して、[
OK] をクリック 。コンソール のルート ノードを見つけて、Component Services を展開し、Computers を展開して、[マイ コンピュータークリックします。
[マイ コンピューター]を右クリックし、 [プロパティ]をクリックします。
マイ コンピューターのプロパティで、[COM セキュリティ] タブをクリックします。
[アクセス許可で編集の制限をクリックします。
[ ANONYMOUS ログオンをクリックします。
[匿名ログオンのアクセス許可] でリモート アクセスの [Allow 設定] をクリックします。
[OK] を 2 回クリックします。
コンピューターを再起動します。
既定の DCOM アクセス許可が変更されたかどうかを確認する
次のレジストリ サブキーの DefaultAccessPermission 値を確認します: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole
。
これは、既定の DCOM アクセス許可が変更されたことを示します。 この値が存在しない場合、既定の DCOM アクセス許可が有効になります。 この問題を解決するには、DefaultAccessPermission 値を削除します。 これにより、すべての既定の DCOM アクセス許可がリセットされます。 これは最後の手段であり、問題を修正することは保証されていません。
重要
このセクション、方法、またはタスクには、レジストリの編集方法が記載されています。 レジストリを誤って変更すると、深刻な問題が発生することがあります。 したがって、次の手順を注意深く実行してください。 保護のために、レジストリを変更する前に、バックアップします。 その後、問題が起こった場合は、レジストリを復元できます。 レジストリをバックアップおよび復元する方法の詳細については、マイクロソフト サポート技術情報の記事を表示するには、次の資料番号をクリックします。 322756 Windows でレジストリをバックアップおよび復元する方法
重要
この値を削除する前に、この記事の DCOM のトラブルシューティング手順に従って問題を解決しようとしたことを確認してください。 また、 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole
レジストリ サブキーをバックアップします。
DefaultAccessPermission 値を削除するには、次の手順に従います。
[スタート] ボタン、 [ファイル名を指定して実行] の順にクリックし、「regedit」と入力して [OK] をクリックします。
次のレジストリ サブキーを見つけてクリックします:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole
。右側のウィンドウで、 DefaultAccessPermissionを右クリックし、 Delete をクリックします。
[ 値の削除 ] ダイアログ ボックスで、[ Yes をクリックします。
レジストリ エディターを終了します。
コンピューターからログオフし、コンピューターに再度ログオンします。
Everyone セキュリティ グループに匿名ログオン セキュリティ グループを含める
前述の手順で SMS 管理者コンソールのアクセス許可の問題が解決されない場合は、次の操作を行うのが難しい場合があります。
- Windows XP を実行しているコンピューターで匿名アクセスが必要なリソースを特定します。
- 必要なすべてのリソースに対するアクセス許可を変更します。このような状況では、Windows XP を実行しているコンピューターに、Everyone セキュリティ グループに匿名ログオン セキュリティ グループを強制的に含める必要があります。 この機能をサポートするために、Windows XP には EveryoneIncludesAnonymous レジストリ エントリが含まれています。
EveryoneIncludesAnonymous レジストリ エントリが REG_DWORD 0x1 に設定されている場合、ローカル セキュリティ機関 (LSA) には、匿名ユーザーのアクセス トークンに Everyone セキュリティ グループのセキュリティ識別子 (SID) が含まれます。 EveryoneIncludesAnonymous レジストリ エントリの値を設定するには、次のいずれかのメソッドを使用します。
方法 1: ローカル セキュリティ設定を使用して EveryoneIncludesAnonymous レジストリ エントリを設定する
Startをクリックし、Runをクリックし、「Control admintools」と入力して、[OK] をクリックします。
ローカル セキュリティ ポリシーまたはドメイン セキュリティ ポリシー (ドメイン コントローラーのみ) をダブルクリックします。
[ローカル ポリシーをダブルクリックし、[ セキュリティ オプション] をクリックします。
[ Network アクセス: すべてのユーザーのアクセス許可を匿名ユーザーに適用できるようにするを右クリックし、[ Properties] をクリックします。
匿名ユーザーを Everyone セキュリティ グループのメンバーにするには、[ Enabled をクリックします。 匿名ユーザーのアクセス トークンに Everyone セキュリティ グループ SID が含まれないようにするには、[ Disabled をクリックします。 これは Windows XP の既定の設定です。
方法 2: レジストリ エディターを使用して EveryoneIncludesAnonymous レジストリ値を設定する
重要
このセクション、方法、またはタスクには、レジストリの編集方法が記載されています。 レジストリを誤って変更すると、深刻な問題が発生することがあります。 したがって、次の手順を注意深く実行してください。 保護のために、レジストリを変更する前に、バックアップします。 その後、問題が起こった場合は、レジストリを復元できます。 レジストリをバックアップおよび復元する方法の詳細については、マイクロソフト サポート技術情報の記事を表示するには、次の資料番号をクリックします。 322756 Windows でレジストリをバックアップおよび復元する方法
[スタート] ボタン、 [ファイル名を指定して実行] の順にクリックし、「regedit」と入力して [OK] をクリックします。
次のレジストリ キーを見つけてクリックします:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
。EveryoneIncludesAnonymous を右クリックし、Modify をクリックします。
匿名ユーザーを Everyone セキュリティ グループのメンバーにするには、Value data ボックスに「1」と入力します。 匿名ユーザーのアクセス トークンに Everyone セキュリティ グループ SID が含まれないようにするには、Value data ボックスに「0」と入力します。 既定では、Windows XP では EveryoneIncludesAnonymous の値が 0 に設定されています。
レジストリ エディターを終了します。
コンピューターを再起動します。
Note
この変更は、次の Windows ベースのテクノロジに影響する可能性があります。
- Com
- Dcom
- IIS
- メッセージ キューイング (Message Queuing)
- 匿名認証が頻繁に使用されるその他のテクノロジ。
追加の接続テスト
サイト サーバーで WMI コントロールを起動します。 このサーバーが異なる場合は、プロバイダー サーバーで WMI コントロールを起動しないでください。 [ログ記録] タブをクリックし、ログ 記録レベルを [詳細] に設定して、ログ記録を Windows_folder\System32\Wbem\Logs\Wbemcore.log ファイルに増やします。
サイト サーバーでこのログを分析します。 生成されたすべての WMI トラフィックが表示されます。 SMS 管理者コンソールが接続しようとしたときに発生したSMS_Providerlocationのクエリを探します。 このクエリが存在する場合は、コンソールとサイト サーバーの間に通信があることを確認できます。 サイト サーバーから要求元の SMS 管理者コンソールへの接続をテストします。 次のシナリオでは、接続が存在しない可能性があります。
リモート プロシージャ コール (RPC) サーバーは使用できません。
DNS 名前解決の問題があります。 "接続に失敗しました"名前解決が正しく完了していない場合、エラー メッセージも発生する可能性があります。 名前解決の問題が発生しているかどうかを確認するには、WBEMtest ツールを使用し、IP アドレスを使用してサイト サーバーへの接続を試みます。 たとえば、\111.222.333.444\root\default をアドレスとして使用します。 IP アドレスを使用するときに接続できるが、サイト サーバーの netBIOS 名を使用するときに接続できない場合は、名前解決の問題が発生しています。 この問題を解決するには、WINS または DNS 構成を確認します。
リモート SMS 管理者コンソールでノードを展開すると、SMS サイト サーバーはコンソールがインストールされているコンピューターに DCOM 接続を行います。 本体がインストールされているコンピューターに無効な DNS レコードが存在する場合、SMS サイト サーバーが間違った IP アドレスへの接続を試みる可能性があります。 これが発生すると、コンソール ノードの展開に失敗し、コンソール コンピューターは、AdminUI.logで "WMI 接続が切断されました" エラーを記録します。 これをトラブルシューティングするには、 nslookup <console_computer_name>
コマンドを実行して、名前が正しい IP アドレスに解決されることを確認します。 コンソール コンピューターに無効な DNS 登録が存在する場合は、無効な DNS 登録を削除します。 さらに、無効な DNS 登録がどのように作成されたかを確認して、DNS 登録が再び行われないようにします。 たとえば、コンソール コンピューターが VPN アドレスを登録しているが、VPN が切断されたときに VPN アドレスが DNS から削除されなかった場合などです。 DNS の問題を解決したら、SMS 2003 サイト サーバーのコマンド プロンプトで次のコマンドを実行します: ipconfig /flushdns
。
DNS を使用して Windows XP SP2 ベースのコンピューターの完全修飾ドメイン名を解決できない場合は、SMS 2003 サイト サーバーの hosts ファイルにエントリを作成して、Windows XP SP2 ベースのコンピューターの完全修飾ドメイン名をその IP アドレスにマップします。
Microsoft ISA サーバーまたはチェックポイント VPN ソフトウェアに関する既知の問題
Windows 2003 SP1 コンピューターからリモート接続経由でリモート コンソール上の一部のノードを展開できない場合、特定のファイアウォールおよび VPN 製品がネットワーク要求を拒否すると、リモート プロシージャ コールベースの操作が失敗する可能性があります。 これらのネットワーク要求は、Windows Server 2003 Service Pack 1 (SP1) を Windows Server 2003 ベースのコンピューターに適用するコンピューターで失敗する場合があります。または、OEM またはリテール インストール メディアに SP1 更新プログラムが含まれている場合があります。 次の製品では、これらのネットワーク要求が拒否される場合があります。
- チェックポイント ソフトウェア テクノロジのファイアウォールまたは仮想プライベート ネットワーク (VPN) 製品
- Microsoft Internet Security and Acceleration (ISA) Server
この問題は、次の条件に該当する場合にも発生する可能性があります。
- クライアントからの RPC 接続は TCP ポート 135 経由であり、有効になっています。
- 中央サイト サーバーからの応答は、ポート 1024 を超えるエフェメラル ポートを介しており、ファイアウォールがそのポート範囲をブロックしています。 この問題を解決するには、RPC 接続で使用されるポートの範囲を制限するようにクライアントとサーバーを構成し、ファイアウォールでその範囲を有効にします。 これを行うには、「Microsoft サポート技術情報: 154596 ファイアウォールで動作するように RPC 動的ポート割り当てを構成する方法」の記事に記載されている方法を使用します。
関連情報
リモート WMI 接続をセキュリティで保護する方法の詳細については、次の Microsoft Web サイトを参照してください。 WMI セキュリティの維持。