WMI、PowerShell、および Windows のファイアウォールIssue <!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: #000000; } span { font-size: 12pt; font-family: Lato; color: #000000; } h2 { font-size: 24pt; font-family: Lato; color: black; } h3 { font-size: 18pt; font-family: Lato; color: black; } h4 { font-size: 14pt; font-family: Lato; color: black; } a { font-size: 12pt; font-family: Lato; color: #00718F; } a:hover { font-size: 12pt; color: #024F69; } a:target { font-size: 12pt; color: #032D42; } a:visited { font-size: 12pt; color: #7057C7; } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: block; max-width: ; width: auto; height: auto; } } この資料では、Windows ファイアウォールでポートを開いてリモート サーバーにアクセスする方法について説明します。 Release<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: #000000; } span { font-size: 12pt; font-family: Lato; color: #000000; } h2 { font-size: 24pt; font-family: Lato; color: black; } h3 { font-size: 18pt; font-family: Lato; color: black; } h4 { font-size: 14pt; font-family: Lato; color: black; } a { font-size: 12pt; font-family: Lato; color: #00718F; } a:hover { font-size: 12pt; color: #024F69; } a:target { font-size: 12pt; color: #032D42; } a:visited { font-size: 12pt; color: #7057C7; } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: block; max-width: ; width: auto; height: auto; } } すべて Resolution<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: #000000; } span { font-size: 12pt; font-family: Lato; color: #000000; } h2 { font-size: 24pt; font-family: Lato; color: black; } h3 { font-size: 18pt; font-family: Lato; color: black; } h4 { font-size: 14pt; font-family: Lato; color: black; } a { font-size: 12pt; font-family: Lato; color: #00718F; } a:hover { font-size: 12pt; color: #024F69; } a:target { font-size: 12pt; color: #032D42; } a:visited { font-size: 12pt; color: #7057C7; } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: block; max-width: ; width: auto; height: auto; } } Windows ファイアウォールと DCOM ポート Windows ファイアウォールが有効になっているリモート Windows マシンの場合、ポート 135 を開くだけではディスカバリーにマシンを正常に検出させることはできません。MID サーバーがポート 135 を介してリモートサーバー上の RPC のドアをノックすると、リモートマシンは、MID サーバーがリモートサーバー上の DCOM に再びアクセスするために使用する必要がある (動的) ポートをアナウンスします。リモート コンピューター上の RPC サーバーによってアナウンスされるポートは、ポートの範囲の 1 つです (RPC が静的ポートで実行されるように構成されていない場合)。 DCOM ポートのデフォルト範囲は次のとおりです。 1025 から 5000 まで: Windows 2000、Windows XP、および Windows Server 200349152 から 65535: Windows Server 2008 以降のバージョン、および Windows Vista 以降のバージョン Windows ファイアウォールで DCOM ポートの範囲が開かれていない場合、ディスカバリーは失敗し、WMIRunner - WMI: Classifyプローブへ次のエラー応答: <error> Authentication failure with the local MID server service credential. </error> <error> Failed to access target system. Please check credentials and firewall settings on the target system to ensure accessibility: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)) Stack Trace: at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo) at System.Management.ManagementScope.InitializeGuts(Object o) at System.Management.ManagementScope.Initialize() at System.Management.ManagementObjectSearcher.Initialize() at System.Management.ManagementObjectSearcher.Get() at Microsoft.PowerShell.Commands.GetWmiObjectCommand.BeginProcessing() at System.Management.Automation.Cmdlet.DoBeginProcessing() at System.Management.Automation.CommandProcessorBase.DoBegin() </error> MID サーバーへのポートを開く方法 WMI 要件の固有の性質のため、ServiceNow では、MID サーバーアプリケーションホストマシンがすべてのポートでターゲットにアクセスできるようにすることをお勧めします (詳細については、「 」、「MID サーバーの要件 を参照してください)。ただし、顧客が MID サーバーへのすべてのポートを開かないことを選択した場合は、次の代替ソリューションがあります。 1 - Windows ファイアウォールでポート 135 を開く Windows 2000、XP、Server 2003 の場合: このソリューションは、Windows ファイアウォールに例外を追加することで構成されます。次の手順を実行します。 [コントロールパネル] > [Windows ファイアウォール] > [例外] > [ポートの追加] に移動します... 名前:RPC Endpoint Mapper - TCP ポート 135ポート:135TCP Windows Server 2008、Vista、およびそれ以降の場合: この解決策は、セキュリティが強化された Windows ファイアウォールにルールを追加して、ポート 135/RPC を開くことで構成されます。次の手順を実行します。 [管理ツール] > [セキュリティが強化された Windows ファイアウォール] に移動します。[受信ルールに移動] (右クリック) 新しいルール>...[ルールタイプ]:[カスタム]を選択し、[次へ]をクリックします。[プログラム]:すべてのプログラムを選択します。[プログラム]:サービス中: [カスタマイズ] をクリックします。[Apply to this service: Remote Procedure Call (RPC) - RpcSs] を選択します。[OK] をクリックしてダイアログ ボックスを閉じます。「Next」を選びます [プロトコルとポート]:プロトコルタイプ:TCPを選択します。[プロトコルとポート]:ローカルポート:RPCエンドポイントマッパーを選択します。[プロトコルとポート]:[レポートポート:すべてのポート]を保持し、[次へ]をクリックします。[スコープ]:[このルールが一致するローカル/リモート IP アドレス]:任意の IP アドレス(セキュリティ ポリシーによって別の設定が必要な場合があります)を保持し、[次へ] をクリックします。[アクション]:[接続を許可する]を選択します。[プロファイル]: [ドメイン]、[プライベート]、および [パブリック] を選択し (セキュリティ ポリシーによって異なる設定が必要な場合があります)、[次へ] をクリックします。[Name]:ルールに名前を付け(例: RPC Endpoint Mapper - TCP Port 135)、[Finish] をクリックします。 他の事前定義されたルールがすでに 135/RPC へのアクセスを許可している可能性があります。これは、ファイルとプリンターの共有 - RPC-EPMAP ルールの場合です。 2 – Windows ファイアウォールで標準 DCOM ポートへのアクセスを開く Windows 2000、XP、Server 2003 の場合: このソリューションは、Windows ファイアウォールに例外を追加することで構成されます。追加する例外が多数あるため、このスクリプトを実行してエントリを追加してください。次の手順を実行します。 ポート 135 が開いていることを確認します (セクション #1 を参照)。コマンド ラインを開き、「 FOR /L %I in (1025,1,5000) do netsh firewall add portopening TCP %I "Dcom - TCP Port "%I と入力します。 これにより、ポートごとに Windows ファイアウォールにエントリが追加されます (3975 エントリ)。エントリが多すぎる場合は、セクション #3 の手順に従って、DCOM が少数のポートのみを使用するようにします。 Windows Server 2008、Vista、およびそれ以降の場合: これを実現するには、いくつかの方法があります。 前のセクションのコマンドを実行している Windows ファイアウォールに例外を追加しますが、今回は Windows 2008 の DCOM ポートの範囲を使用します。そのため、コマンドの(1025,1,5000)を(49152,1,65535)で置き換えます。これにより、ポートごとに 1 つのエントリが Windows ファイアウォールに追加されます (16383 エントリ)。エントリが多すぎる場合は、セクション #3 の次の手順に従って、DCOM が少数のポートのみを使用するようにします。セクション #1 から、セキュリティが強化された Windows ファイアウォールにルールを追加します。次の手順を実行します。 ポート 135 が開いていることを確認します (セクション #1 を参照)。[管理ツール] > [セキュリティが強化された Windows ファイアウォール] に移動します。[受信ルールに移動] (右クリック) 新しいルール>...[ルールタイプ]:[カスタム]を選択し、[次へ]をクリックします。[プログラム]:すべてのプログラムを選択します。[プログラム]:サービス中: [カスタマイズ] をクリックします...[すべてのプログラムとサービスに適用] を選択します。[OK] をクリックしてダイアログ ボックスを閉じます。「Next」を選びます [プロトコルとポート]:プロトコルタイプ:TCPを選択します。[プロトコルとポート]:ローカルポート:ダイナミックRPCを選択します。[プロトコルとポート]:[レポートポート:すべてのポート]を保持し、[次へ]をクリックします。[スコープ]:[このルールが一致するローカル/リモート IP アドレス]:任意の IP アドレス(セキュリティ ポリシーに合わせて別の設定が必要な場合があります)を保持し、[次へ] をクリックします。[アクション]:[接続を許可する]を選択します。[プロファイル]:[ドメイン]、[プライベート]、および[パブリック]を選択し(セキュリティポリシーに応じて別の設定が必要な場合があります)、[次へ]をクリックします。[Name]:ルールに名前を付け(例:DCOM - TCP Dynamic RPC)、[Finish] をクリックします。 3 – 少数のポートのみを使用するように DCOM を構成する (オプション) 100 個のポートを追加して DCOM を構成します (65000 – 65100): [管理ツール] > [コンポーネントサービス] に移動します。コンソールに移動します。 [ルート] > [コンポーネントサービス] > [コンピューター] > [マイコンピューター] (右クリック) > [デフォルトプロトコル] > [接続指向 TCP/IP] >プロパティ...ポート範囲:65000 〜 65100 を追加します。サーバーを再起動します。セクション #2 の手順に従います。Windows 2000、XP、Server 2003 の場合は、コマンドの (1025,1,5000) を (65000,1,65100) に置き換えます。これにより、Windows ファイアウォールに 100 個のエントリが追加されます。 注意: これは非常に低い値であり、ディスカバリー (およびその他のリモートアプリケーション) の実行が遅すぎます。 Related Links<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: #000000; } span { font-size: 12pt; font-family: Lato; color: #000000; } h2 { font-size: 24pt; font-family: Lato; color: black; } h3 { font-size: 18pt; font-family: Lato; color: black; } h4 { font-size: 14pt; font-family: Lato; color: black; } a { font-size: 12pt; font-family: Lato; color: #00718F; } a:hover { font-size: 12pt; color: #024F69; } a:target { font-size: 12pt; color: #032D42; } a:visited { font-size: 12pt; color: #7057C7; } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: block; max-width: ; width: auto; height: auto; } } Windows ディスカバリー:リモート マシンでの WMI/PowerShell の問題のトラブルシューティング