রিড-অনلی ডোমেন কন্ট্রোলার (RODC) ফিচারটি প্রথম Windows Server 2008-এ পরিচিত হয়েছিল। RODC-এর মূল উদ্দেশ্য হলো রিমোট ব্রাঞ্চ এবং অফিসে নিজস্ব ডোমেন কন্ট্রোলার নিরাপদে ইনস্টল করা, যেখানে একটি ADDS রোল সার্ভার ফিজিক্যালি সুরক্ষিত করা কঠিন। RODC-তে অ্যাক্টিভ ডিরেক্টরি ডাটাবেসের একটি রিড-অনلی কপি থাকে। এর মানে, যদি কেউ ডোমেন কন্ট্রোলার হোস্টে ফিজিক্যাল অ্যাক্সেস পায়, তবে সে AD-এ ডেটা পরিবর্তন করতে পারবে না (ডোমেন অ্যাডমিন পাসওয়ার্ড রিসেট করা সহ)।
এই আর্টিকেলে আমরা দেখবো কিভাবে Windows Server 2022/2019-এ ভিত্তি করে একটি নতুন রিড-অন্লি ডোমেন কন্ট্রোলার ইনস্টল করতে হয় এবং কিভাবে এটি ম্যানেজ করতে হয়।
অ্যাক্টিভ ডিরেক্টরিতে রিড-অন্লি ডোমেন কন্ট্রোলার (RODC) কী?
সাধারণ রিড-রাইটেবল ডোমেন কন্ট্রোলার (RWDC) থেকে RODC-এর প্রধান পার্থক্যগুলো নিচে দেয়া হলো:
- RODC AD ডাটাবেসের একটি রিড-অনلی কপি মেইনটেইন করে। তাই এই ডোমেন কন্ট্রোলারের ক্লায়েন্টরা এতে কোনো পরিবর্তন আনতে পারে না;
- RODC AD ডেটা এবং SYSVOL ফোল্ডার অন্যান্য ডোমেন কন্ট্রোলার (RWDC) রিপ্লিকেট করে না, একমুখী রিপ্লিকেশন ব্যবহার করা হয়;
- RODC AD ডাটাবেসের একটি ফুল কপি মেইনটেইন করে, তবে AD অবজেক্টের পাসওয়ার্ড হ্যাশ এবং সেনসিটিভ তথ্য ধারণকারী কিছু অন্যান্য অ্যাট্রিবিউট বাদে। এই অ্যাট্রিবিউট সেটকে Filtered Attribute Set (FAS) বলা হয়। এতে ms-PKI-AccountCredentials, ms-FVE-RecoveryPassword, ms-PKI-DPAPIMasterKeys, ইত্যাদি অ্যাট্রিবিউট থাকে। আপনি অন্যান্য অ্যাট্রিবিউটও এই সেটে যোগ করতে পারেন, যেমন LAPS ব্যবহার করার সময় ms-MCS-AdmPwd অ্যাট্রিবিউটে ক্লียারটেক্সটে সংরক্ষিত কম্পিউটার পাসওয়ার্ড;
- যদি RODC একটি ইউজার থেকে অথেনটিকেশন রিকোয়েস্ট পায়, তবে সেটি RWDC-তে ফরওয়ার্ড করে;
- RODC কিছু ইউজারের ক্রেডেনশিয়াল ক্যাশ করতে পারে (এটি অথেনটিকেশন দ্রুত করে এবং RWDC-তে কানেকশন না থাকলেও ইউজাররা ডোমেন কন্ট্রোলারে অথেনটিকেশন করতে পারে);
- আপনি নন-অ্যাডমিন ইউজারদের (উদাহরণস্বরূপ, ব্রাঞ্চ SysOps) RODC-এ অ্যাডমিনিস্ট্রেটিভ এবং RDP অ্যাক্সেস দিতে পারেন;
- RODC-এ DNS সার্ভিস রিড-অনলি মোডে থাকে।
Read-Only Domain Controller স্থাপনের জন্য প্রয়োজনীয় শর্তগুলো:
- সার্ভারে স্ট্যাটিক IP অ্যাসাইন করা থাকতে হবে;
- Windows Firewall ডিজেবল থাকতে হবে বা DCs এবং ক্লায়েন্টদের মধ্যে ট্রাফিক পাস করার জন্য সঠিকভাবে কনফিগার করা থাকতে হবে;
- নিকটতম RWDC-কে DNS সার্ভার হিসেবে নির্দিষ্ট করতে হবে;
- আপনি Windows Server Full GUI এবং Windows Server Core এডিশন উভয়েই RODC ইনস্টল করতে পারেন;
- আপনাকে RODC-কে RWDC-র সাথে একই AD সাইটে রাখা উচিত নয়।
Server Manager GUI ব্যবহার করে RODC ইনস্টল করা
Server Manager কনসোল খুলুন এবং Active Directory Domain Services রোলটি যোগ করুন (সभी অতিরিক্ত কম্পোনেন্ট এবং ম্যানেজমেন্ট টুল ইনস্টল করার জন্য সম্মত হন)।

নতুন DC-র সেটিংস নির্দিষ্ট করার সময়, Add a domain controller to an existing domain অপশনটি চেক করুন, ডোমেনের নাম দিন এবং প্রয়োজন হলে ডোমেন অ্যাডমিনিস্ট্রেটর অধিকার বিশিষ্ট ইউজার অ্যাকাউন্টের ক্রেডেনশিয়াল দিন।

DNS সার্ভার, গ্লোবাল ক্যাটালগ (GC), এবং RODC ক্যাপাবিলিটি ইনস্টল করতে হবে বলে নির্দিষ্ট করুন। তারপর একটি সাইট সিলেক্ট করুন যেখানে নতুন কন্ট্রোলারটি থাকবে, এবং DSRM মোডে অ্যাক্সেসের জন্য পাসওয়ার্ড দিন।

এরপর, আপনি কাকে ডোমেন কন্ট্রোলারের অ্যাডমিনিস্ট্রেটিভ অ্যাক্সেস ডেলিগেট করতে চান, এবং কোন অ্যাকাউন্ট/গ্রুপের পাসওয়ার্ড RODC-এ রিপ্লিকেট করার অনুমতি দেওয়া বা নিষেধ করা হবে তা নির্দিষ্ট করুন (আপনি এটি পরে ও করতে পারেন)।
নির্দিষ্ট করুন যে AD ডাটাবেস ডেটা যেকোনো DC থেকে রিপ্লিকেট হয়তে পারে।
Replicate from -> Any domain controller

তারপর NTDS ডাটাবেস, লগস, এবং SYSVOL ফোল্ডারের পাথ নির্দিষ্ট করুন (প্রয়োজন হলে পরে অন্য ড্রাইভে সরানো যাবে)।

সব অপশন চেক করার পর, আপনি ADDS রোল ইনস্টল করতে পারেন।
বিকল্পভাবে, আপনি Staged ফিচার ব্যবহার করে RODC ডিপ্লয় করতে পারেন। এতে ADUC কনসোলে RODC কম্পিউটার অ্যাকাউন্ট पूर्व-তৈরি করা এবং বেসিক সেটআপ করা থাকে। সেজন্য, Domain Controllers কন্টেইনারে রাইট-ক্লিক করে Pre-create a read-only domain controller account সিলেক্ট করুন।

একই নামের সার্ভারে ADDS রোল ইনস্টল করার সময়, নিচের বার্তাটি দেখাবে:
A Pre-created RODC account that matches the name of the target server exists in the directory. Choose whether to use this existing RODC account or reinstall this domain controller.
Use existing RODC account অপশনটি সিলেক্ট করুন যাতে পূর্ব-তৈরি RODC অবজেক্টটি ব্যবহার হয়।

রোল ইনস্টলেশন এবং সার্ভার রিস্টার্ট সম্পন্ন হলে, আপনি একটি RODC কন্ট্রোলার পাবেন। আপনি ডোমেন কন্ট্রোলার হেলথ চেক করতে পারেন।
যখন ADUC স্ন্যাপ-ইন (dsa.msc) RODC-এ কানেক্ট করে, তখন সব নতুন AD অবজেক্ট তৈরি করার বাটনগুলো গ্রে-আউট থাকে। এছাড়া, আপনি রিড-অনলি ডোমেন কন্ট্রোলারে AD অবজেক্টের অ্যাট্রিবিউট পরিবর্তন করতে পারবেন না। Active Directory কনসোলে অন্যান্য সব অ্যাকশন, সার্চ সহ, স্বাভাবিকভাবে কাজ করে।

PowerShell ব্যবহার করে Windows Server রিড-অনলি DC ডিপ্লয় করা
PowerShell ব্যবহার করে একটি নতুন RODC ডিপ্লয় করতে, আপনাকে ADDS রোল এবং PowerShell ADDS মডিউল ইনস্টল করতে হবে:
Add-WindowsFeature AD-Domain-Services,RSAT-AD-AdminCenter,RSAT-ADDS-Tools
এখন আপনি RODC ইনস্টল করতে পারেন:
Install-ADDSDomainController -ReadOnlyReplica -DomainName woshub.com -SiteName MUN_Branch1_RO_Site -InstallDns:$true -NoGlobalCatalog:$false
Windows Server Core-এ রিড-অনলি ডোমেন কন্ট্রোলার ইনস্টল করার জন্যও PowerShell ব্যবহার করা হয়।
ইনস্টলেশন শেষ হলে, কামডলেট আপনাকে সার্ভার রিস্টার্ট করার জন্য বলবে।
আপনার ডোমেনের DCs তালিকা করুন Get-ADDomainController কামডলেট ব্যবহার করে (Active Directory PowerShell মডিউল থেকে):
Get-ADDomainController -Filter * | Select-Object Name,IsReadOnly
রিড-অনলি ডোমেন কন্ট্রোলারের জন্য IsReadOnly অ্যাট্রিবিউটের মান True হতে হবে।
আপনার ডোমেনের সব RODC তালিকা করতে:
Get-ADDomainController –filter {IsReadOnly –eq $true}
যদি আপনি প্রথমে ডোমেন RODC অ্যাকাউন্ট প্রি-ক্রিয়েট করতে চান (স্টেজড ডিপ্লয়মেন্ট), তবে এই কমান্ডটি ব্যবহার করুন:
Add-ADDSReadOnlyDomainControllerAccount -DomainControllerAccountName MUN-RODC01 -DomainName woshub.com -DelegatedAdministratorAccountName "woshub\mbak" -SiteName MUN_Branch1_RO_Site
Windows Server হোস্টকে DC-তে প্রোমোট করার সময়, কমান্ডটি ব্যবহার করুন:
Install-ADDSDomainController -DomainName woshub.com -Credential (Get-Credential) -LogPath "C:\Windows\NTDS" -SYSVOLPath "C:\Windows\SYSVOL" -ReplicationSourceDC "MUN-DC01.woshub.com" – UseExistingAccount
আপনি RODC-এ কানেক্ট করে PowerShell ব্যবহার করে AD অবজেক্টের অ্যাট্রিবিউট পরিবর্তন করতে পারবেন না। যদি আপনি RODC-वाले সাইট থেকে কোনো অবজেক্টের অ্যাট্রিবিউট পরিবর্তন করতে চান, তবে Set-ADUser, Set-ADComputer, New-ADUser, ইত্যাদি PowerShell কামডলেটে উপলব্ধ –Server প্যারামিটার ব্যবহার করে নিকটতম RWDC-র অড্রেস নির্দিষ্ট করুন।
RODC পাসওয়ার্ড রিপ্লিকেশন পলিসি এবং ক্রেডেনশিয়াল ক্যাশিং
প্রতিটি RODC-এ আপনি ইউজার, কম্পিউটার এবং সার্ভারের একটি তালিকা নির্দিষ্ট করতে পারেন, যাদের পাসওয়ার্ড হ্যাশ এই ডোমেন কন্ট্রোলারে রিপ্লিকেট করার অনুমতি থাকবে বা নিষিদ্ধ থাকবে।
যেসব কম্পিউটার, ইউজার এবং সার্ভারের পাসওয়ার্ড RODC ক্যাশে সংরক্ষিত থাকে, তারা এই ডোমেন কন্ট্রোলারে অথেনটিকেশন করতে পারবে, এমনকি যদি RWDC-তে কানেকশন না থাকে।
ডিফল্টভাবে, ডোমেনে দুটি নতুন গ্লোবাল গ্রুপ তৈরি হয়:
- Allowed RODC Password Replication Group
- Denied RODC Password Replication Group
ডিফল্টভাবে, প্রথম গ্রুপটি খালি থাকে, আর দ্বিতীয় গ্রুপে সпеഷিয়াল সিকিউরিটি গ্রুপ থাকে যাদের পাসওয়ার্ড RODC-এ রিপ্লিকেট বা ক্যাশ করা যাবে না যাতে সেগুলো কমপ্রোমাইজ না হয়। ডিফল্টভাবে নিচের গ্রুপগুলো এখানে থাকে:
- Group Policy Creator Owners
- Domain Admins
- Cert Publishers
- Enterprise Admins
- Schema Admins
- Account krbtgt
- Account Operators
- Server Operators
- Backup Operators

RODC Password Replication Allowed গ্রুপে সাধারণত সেই ব্রাঞ্চ অফিসের ইউজাররা থাকে যেখানে RODC অবস্থিত।
যদি আপনি একটি ডোমেনে একাধিক RODC ডিপ্লয় করেন, তবে প্রতিটি RODC-র জন্য আলাদা গ্রুপ তৈরি করা ভালো। আপনি ADUC কনসোলে সার্ভার প্রপার্টিজের PasswordReplication Policy ট্যাবে গ্রুপগুলো RODC-র সাথে বাইন্ড করতে পারেন।

Advanced Password Replication Policy for RODC_name-এ, আপনি দেখতে পাবেন:
- Accounts whose passwords are stored on this Read-Only Domain Controller – এই RODC-এ যেসব ইউজার এবং কম্পিউটারের পাসওয়ার্ড ক্যাশ করা আছে তাদের তালিকা
- Accounts that have been authenticated to this Read-Only DC – এই রিড-অনলি ডোমেন কন্ট্রোলারের সাথে বর্তমানে অথেনটিকেট হওয়া ইউজার এবং কম্পিউটারদের তালিকা

Resultant Policy ট্যাবে, আপনি একটি ইউজার অ্যাকাউন্ট সিলেক্ট করে চেক করতে পারেন যে এর পাসওয়ার্ড RODC-এ ক্যাশ হবে কিনা।
আপনি PowerShell ব্যবহার করে RODC গ্রুপ ম্যানেজ করতে পারেন। AD গ্রুপের মেম্বাররা তালিকা করুন:
Get-ADGroupMember -Identity "Denied RODC Password Replication Group" | ft Name, ObjectClass
নির্দিষ্ট Active Directory Organizational Unit (OU) থেকে সব সক্রিয় ইউজারকে RODC গ্রুপে যোগ করুন:
Get-ADUser -SearchBase 'OU=MUN_Branch1,DC=woshub,DC=com' -Filter {Enabled -eq "True"} | ForEach-Object {Add-ADGroupMember -Identity 'Allowed RODC Password Replication Group' -Members $_ -Confirm:$false }
OU থেকে RODC-এ ইউজার পাসওয়ার্ড ক্যাশ প্রি-পপুলেট করতে নিচের PowerShell স্ক্রিপ্ট ব্যবহার করুন:
$usrs = Get-ADUser -SearchBase 'OU= MUN_Branch1,DC=woshub,DC=com' -Filter {Enabled -eq "True"}
foreach ($usr in $usrs) {
Get-ADObject -identity $usr | Sync-ADObject -Source MUN-DC01 ‑Destination MUN-RODC1 -PasswordOnly
}
আপনি যেসব ইউজার এবং কম্পিউটারের পাসওয়ার্ড RODC ক্যাশে আছে তাদের তালিকা করতে পারেন:
Get-ADDomainControllerPasswordReplicationPolicyUsage -Identity MUN-RODC1 ‑RevealedAccounts
আপনি নির্দিষ্ট ইউজারের পাসওয়ার্ড RODC ক্যাশ থেকে রিমুভ করতে পারবেন না। তবে, আপনি ADUC স্ন্যাপ-ইন বা Set-ADAccountPassword PowerShell কামডলেট ব্যবহার করে ইউজারের পাসওয়ার্ড রিসেট করে এই ক্যাশ অমान्य করতে পারেন।