Active Directory の移行を行う際 Windows Server 2016 では、古いレプリケーション方式となるファイルレプリケーションが廃止となっており、Windows Server 2019 では利用することができなくなっています。
Windows Server 2019 への移行に伴い FRS を利用している環境では DFS-R への切り替えを行う必要がありますが、現在のレプリケーション方式がどちらなのかわからないといった際に確認する方法についてまとめています。
SYSVOL レプリケーション方式について
Active Directory の SYSVOL レプリケーション方式として、従来ではファイルレプリケーションシステム(FRS:File Replication System)が使われていましたが、ドメイン機能レベル Windows Server 2008 から分散ファイルシステムレプリケーション(DFS-R:Distributed File System Replication)が利用できるようになり、FRS を利用している環境では、DFS-R へ切り替えることで以下のメリットが存在します。
- SYSVOL 変更情報の差分のみが同期される
- SYSVOL に変更が発生した場合は即時に同期が行われる
これにより、DFS-R のレプリケーション方式を利用することで、SYSVOL 情報の同期に掛かる時間やネットワークのトラフィックを軽減することができます。
SYSVOL レプリケーション方式を確認する
Active Directory ドメインが当初から機能レベル Windows Server 2008 以上で構成されている場合は、既定で DFSR で構成されていますが、古い環境からリプレースを行ってきた環境の場合(Windows Server 2003 の機能レベルから移行を行っている環境)では、同期方式を DFSR へ切り替えておらず、FRS のままとなっている場合があります。
その場合は、DFSR への切り替えを行う必要がありますが、まず最初に今の環境の同期方式が FRS なのかということの確認が必要になります。
Active Directory のパラメータでは、現在のレプリケーション方式を明示的に確認できるものはありませんが、以下の方法で簡単に確認することができます。
SYSVOL フォルダ名で確認する
レプリケーション方式を FRS から DFSR へ切り替えを行うと移行の過程で SYSVOL フォルダ名が “SYSVOL” から “SYSVOL_DFSR” へ変更されます。そのため、C:\Windows 配下の SYSVOL フォルダもしくは net share コマンドで共有されている SYSVOL フォルダのパスを確認して、フォルダ名が変更されているかを確認する方法があります。
ただ、こちらの方法は前提として過去に Windows Server 2003 機能レベルであった事が判断できる場合にのみ有効であり、最初に構築した環境が Windows Server 2008 機能レベル以降の場合は、DFSR を利用していてもフォルダ名は “SYSVOL” のままとなります。
コマンド実行例
PS C:\Users\Administrator> net share 共有名 リソース 注釈 ------------------------------------------------------------------------------- C$ C:\ Default share IPC$ Remote IPC ADMIN$ C:\Windows Remote Admin NETLOGON C:\Windows\SYSVOL_DFSR\sysvol\contoso.com\SCRIPTS Logon server share SYSVOL C:\Windows\SYSVOL_DFSR\sysvol Logon server share コマンドは正常に終了しました。 PS C:\Users\Administrator>
DFSR へ切り替えを行った環境にて net share コマンドの結果みると NETLOGON と SYSVOL のパスが “SYSVOL_DFSR” となっていることが確認できます。
DFS-R オブジェクトを確認する
同期方式に DFSR を利用している場合は LDAP オブジェクトに対し、DFSR のオブジェクトが作成されるとのことなので、このオブジェクトの有無を確認することで今の同期方式を判断することができます。
以下は、Dsquery コマンドで DFSR の LDAP オブジェクトを確認するコマンドとなります。管理者として実行されたコマンドプロンプトもしくは PowerShell にて実行します。
コマンド例
Dsquery * -limit 1000000 | findstr /C:"CN=SYSVOL Share,CN=Content,CN=Domain System Volume,CN=DFSR-GlobalSettings"
コマンド実行例
PS C:\Windows\Administrator> Dsquery * -limit 1000000 | findstr /C:"CN=SYSVOL Share,CN=Content,CN=Domain System Volume,CN=DFSR-GlobalSettings"
"CN=SYSVOL Share,CN=Content,CN=Domain System Volume,CN=DFSR-GlobalSettings,CN=System,DC=contoso,DC=com"
PS C:\Users\Administrator>
DSQuery コマンドの結果が返ってくれば、オブジェクトが存在しているということになりますので、DFSR の利用があると判断することができます。
FRS オブジェクトの確認 ※参考
以下は、Dsquery コマンドで FRS の LDAP オブジェクトを確認するコマンドとなります。DFS-R の方を確認できればこちらは不要ですが、DFS-R の方に結果が出てこない場合などは、こちらを確認して判断します。
コマンド例
Dsquery * -limit 1000000 | findstr /C:"CN=Domain System Volume (SYSVOL share),CN=File Replication Service"
コマンド実行例
PS C:\Users\Administrator> Dsquery * -limit 1000000 | findstr /C:"CN=Domain System Volume (SYSVOL share),CN=File Replication Service" "CN=Domain System Volume (SYSVOL share),CN=File Replication Service,CN=System,DC=contoso,DC=com" "CN=Server01,CN=Domain System Volume (SYSVOL share),CN=File Replication Service,CN=System,DC=contoso,DC=com" PS C:\Users\Administrator>
こちらも同様 DSQuery コマンドの結果が返ってくれば、FRS の利用があると判断することができます。
FRS から DFSR へ切り替えを行っている環境の場合、FRS と DFSR のどちらにもオブジェクトが存在しますので、DFSR のオブジェクトが存在するかどうかが判断のポイントになるかと思います。
これらの方法で現在のレプリケーション方式を確認する事ができます。