AD サーバーの OS 起動における PCNS サービスの起動シーケンスについて

Last Update: feedback 共有

こんにちは、Identity Manager サポートです。
今回、Microsoft Identity Manager (以降 MIM) のパスワード同期に使用する
Active Directory (以降 AD) ドメイン上の Password Change Notification Service (以降 PCNS) の重要な動作シーケンスについてご紹介いたします。

■ シーケンス概要
以下に AD サーバーの OS 起動における PCNS サービスの 簡易起動シーケンスをご紹介いたします。
① AD サーバーの OS 起動
② PCNS サービスの起動
③ PCNS サービスによる稼働条件確認と再起動要求の実施
※ PCNS サービスの稼働条件を確認した後、セキュリティアカウントマネージャーや RPC サービス間の連携処理を行った後、連携を反映するため PCNS サービスの再起動処理要求を実施
④ PCNS サービスの再起動

■ 重要
PCNS サービスを構成している環境下において、AD サーバーの再起動行った場合の動作を補足いたします。
PCNS サービスを構成している AD サーバーの OS を再起動した場合、PCNS サービスの再起動に伴い、一時的にパスワード同期が正常に行えない状態となります。

上記③処理の間にユーザー側でパスワード処理が行われてしまった場合、PCNS サービスが停止しているため、ユーザーのパスワード同期処理が行われない状態となります。

■ 補足
AD サーバーの OS 起動直後、アプリケーションの仕様により、PCNS サービスの再起動が行われます。
PCNS サービスは、サービスの前提条件となっているセキュリティアカウントマネージャー、RPC サービスとの連携処理を確実に遂行する必要があります。
本重要事項を実装するにあたり、AD サーバーの OS 起動直後、上記依存関係にあるサービスと連携した処理を確実に実行するため、PCNS サービスの再起動 (初期化処理)を行う処理をアプリケーションの仕様としてコーディングしております。
上記理由から、PCNS サービスの ②~④ の動作は必ず発生いたします。

アプリケーションの仕様として、上記 ③ 処理の間にパスワード処理が行われてしまった場合は、ユーザーのパスワード同期処理が行われず失敗する事象が発生いたします。
※その際に PCNS サービスが起動していないことで 4001 のエラーが発生します。

こちらに関しましては、PCNS サービス仕様となりますため、PCNS サービスでの回避方法はございません。

■ 回避策
PCNS サービスとしての回避策はございませんが、OS 起動直後に AD サーバーとクライアントとの通信を ファイアウォールなどを利用して
一時的に遮断することで PCNS サービスが停止中でのユーザーのパスワード変更を行わせないようにすることが可能となります。
以下参考例となりますが、記載させていただきます。

[留意事項]
以下の 回避策(参考例) については、複数台の AD 構成で実施いただくことを想定しております。
また、お客様の環境、設定状況により有効な回避策とならない場合がございますため、必ず事前に手順をご確認いただき、検証を実施いただけますようお願いいたします。
※お客様の環境により、回避策の手順を変更するなど、状況にあわせた対応が必要となる可能性がございます。

===================================================
回避策(参考例)
===================================================

  1. ドメイン コントローラーに管理者権限を持ったユーザーでログオンします。

  2. セキュリティが強化された Windows ファイアウォール [受信の規則] にてすべての通信をブロックするポリシーを作成し有効化して、ネットワークを遮断します。

  3. OS のスタート メニューから [電源ボタン] - [再起動] をクリックします。

  4. OS が起動後、管理者権限を持ったユーザーでログオンします。

  5. システムのイベントログで、PCNS サービスが起動することを確認します。停止されて起動しない場合は、手動で実行します。
    ※Active Directory として必要なサービスは後述 [※Active Directory の稼働に必要なサービス] でご案内しておりますのであわせて起動していることを確認します。
    ※PCNS として必要なサービスは後述 [※PCNSサービス に依存関係があるサービス] でご案内しておりますのであわせて起動していることを確認します。

  6. セキュリティが強化された Windows ファイアウォールの [受信の規則]、 [受信の規則] にてすべての通信をブロックするポリシーを無効化して、ネットワークを接続します。

  7. [ファイル名を指定して実行] で services.msc を入力して [OK] をクリックします。

  8. “Intersite Messaging” サービスが開始されていることを確認します。

※開始されていない場合は、”Intersite Messaging” サービスを右クリックから [開始] をクリックします。
9. 管理者としてコマンド プロンプトを起動し、以下のコマンドを実行し入力方向の複製を行います。

CMD> repadmin /syncall /Ae
10.正常に複製されていることが確認できましたら、同期元のADにてテスト用のアカウントで、パスワードを変更します。
11.再起動をおこなったドメインコントローラーのイベントログにて、エラーイベント 4001 が発生していないことを確認します。
12.同期先のAD のテスト用のアカウントのパスワードが変更されていることを、ログインを行いパスワードが更新されていることを確認します。

===================================================
※Active Directory の稼働に必要なサービス
===================================================
以下のサービスが Active Directory の稼働に必要なサービスとなります。
なお、File Replication Service と Distributed File System Replication のサービスは、ご利用環境により、いずれかが使用されております。

・ File Replication Service ※
・ Distributed File System Replication ※
・ Intersite Messaging
・ Kerberos Key Distribution Center
・ Server
・ Workstation
・ Remote Procedure Call (RPC)
・ Windows Time
・ Netlogon
・ Active Directory Domain Services
・ DFS Namespace
・ DNS Server
・ DNS Client

  • 参考情報
    Title: Essential Services
    URL:docs.microsoft.com/en-us/previous-versions/system-center/packs/dd262096(v=technet.10)?redirectedfrom=MSDN

===================================================
※PCNSサービス に依存関係があるサービス
===================================================
Security Account Manager
Remote Procedure Call(RPC)
DCOM Server Process Launcher
RPC Endpoint Mapper