Active Directory একটি বিশ্বস্ত, কিন্তু জটিল এবং ক্রিটিক্যাল সার্ভিস, এবং পুরো এন্টারপ্রাইজ নেটওয়ার্কের অপারেশন 능력 tätি এর ওপর নির্ভর করে। একজন সিস্টেম অ্যাডমিনিস্ট্রেটরকে নিয়মিত চেক করতে হবে যে Active Directory সঠিকভাবে কাজ করছে কিনা। এই নিবন্ধে আমরা আপনার Active Directory ডোমেন, ডোমেন কন্ট্রোলার, এবং রেপ্লিকেশনের হেলথ চেক এবং ডায়াগনোজ করার প্রধান পদ্ধতিগুলো দেখব।
Dcdiag ব্যবহার করে AD ডোমেন কন্ট্রোলার হেলথ চেক করা
Dcdiag হল AD ডোমেন কন্ট্রোলার হেলথ চেক করার বেসিক বিল্ট-ইন টুল। একটি AD ডোমেন কন্ট্রোলারের স্টেট দ্রুত চেক করতে নিচের কমান্ড ব্যবহার করুন:
dcdiag /s:DC01
কমান্ডটি নির্দিষ্ট ডোমেন কন্ট্রোলারের বিরুদ্ধে বিভিন্ন টেস্ট চালায় এবং প্রতিটি টেস্টের জন্য স্টেট রিটার্ন করে (Passed/Failed)।
টিপিক্যাল টেস্টগুলো:
- Connectivity – চেক করে DC DNS-এ রেজিস্টার্ড কিনা, টেস্ট LDAP এবং RPC কানেকশন স্থাপন করে;
- Advertising – DC-এ পাবলিশড রোল এবং সার্ভিস চেক করে;
- FRSEvent – ফাইল রেপ্লিকেশন সার্ভিসের এরর চেক করে (SYSVOL রেপ্লিকেশন এরর);
- FSMOCheck – DC কি KDC, PDC, এবং গ্লোবাল ক্যাটালগ সার্ভারের সাথে কানেক্ট করতে পারে কিনা চেক করে;
- MachineAccount — DC অ্যাকাউন্ট AD-এ সঠিকভাবে রেজিস্টার্ড কিনা এবং ডোমেন ট্রাস্ট রিলেশনশিপ সঠিক কিনা চেক করে;
- NetLogons – লগ অন প্রিভিলেজ চেক করে যাতে রেপ্লিকেশন চালিয়ে যেতে পারে;
- Replications – ডোমেন কন্ট্রোলারগুলোর মধ্যে রেপ্লিকেশনের স্টেট এবং এরর চেক করে;
- KnowsOfRoleHolders – FSMO রোলवाले ডোমেন কন্ট্রোলারগুলোর উপলব্ধতা চেক করে;
- Services – ডোমেন কন্ট্রোলারগুলোর সার্ভিসগুলো চলছে কিনা চেক করে;
- Systemlog – DC লগগুলিতে কোনো এরর আছে কিনা চেক করে;
- ইত্যাদি।

সব উপলব্ধ dcdiag টেস্টের সম্পূর্ণ বিবরণ এখানে পাওয়া যাবে।
ডিফল্ট টেস্ট ছাড়াও আপনি অতিরিক্ত ডোমেন কন্ট্রোলার চেক চালাতে পারেন:
- Topology – চেক করে KCC সব DCs-এর জন্য ফুল টপোলজি জেনারেট করেছে কিনা
- CheckSecurityError
- CutoffServers – এমন DC খুঁজে বের করে যা রেপ্লিকেট হয়নি কারণ এর পার্টনার অনুপলব্ধ
- DNS – ৬টি DNS চেক উপলব্ধ (
/DnsBasic,/DnsForwarders,/DnsDelegation,/DnsDymanicUpdate,/DnsRecordRegistration,/DnsResolveExtName) - OutboundSecureChannels
- VerifyReplicas – চেক করে অ্যাপ্লিকেশন পার্টিশনগুলো সঠিকভাবে রেপ্লিকেট হয়েছে কিনা
- VerifyEnterpriseReferences
উদাহরণস্বরূপ, সব ডোমেন কন্ট্রোলারে DNS সঠিকভাবে কাজ করছে কিনা চেক করতে নিচের কমান্ড ব্যবহার করুন:
dcdiag.exe /s:DC01 /test:dns /e /v

এটি একটি সামারি টেবিল দেখাবে সব DCs-এ DNS কীভাবে নাম রেজলভ করছে (যদি ঠিক থাকে, তাহলে প্রতিটি সেলে Pass দেখাবে)। আপনি যদি Fail দেখেন, তবে নির্দিষ্ট DC-র জন্য এই টেস্ট চালান:
dcdiag.exe /s:DC01 /test:dns /DnsForwarders /v
ডোমেন কন্ট্রোলার টেস্ট রেজাল্ট থেকে বিস্তারিত ইনফরমেশন পাওয়া এবং টেক্সট ফাইলে সেভ করার জন্য এই কমান্ড ব্যবহার করুন:
dcdiag /s:DC01 /v >> c:\ps\dc01_dcdiag_test.log

নিচের PowerShell কমান্ড শুধু dcdiag টেস্টগুলোর সামারি ইনফরমেশন দেখাবে:
Dcdiag /s:DC01 | select-string -pattern '\. (.*) \b(passed|failed)\b test (.*)'

সব ডোমেন কন্ট্রোলারের স্টেট পেতে ব্যবহার করুন:
dcdiag.exe /s:woshub.com /a
যদি আপনি শুধু খুঁজে পাওয়া এররগুলো দেখতে চান, তবে /q অপশন ব্যবহার করুন:
dcdiag.exe /s:dc01 /q

আমার উদাহরণে, টুলটি কিছু রেপ্লিকেশন এরর ডিটেক্ট করেছে:
There are warning or error events within the last 24 hours after the SYSVOL has been shared. Failing SYSVOL replication problems may cause Group Policy problems. ......................... DC01 failed test DFSREvent
DC অ্যাকাউন্টের Service Principal Names এরর অটোমেটিক্যালি ফিক্স করতে dcdiag-এ /fix অপশন ব্যবহার করুন:
dcdiag.exe /s:dc01 /fix
DCগুলোর মধ্যে Active Directory রেপ্লিকেশন এরর চেক করা
বিল্ট-ইন repadmin টুল Active Directory ডোমেনে রেপ্লিকেশন চেক করতে ব্যবহৃত হয়।
AD রেপ্লিকেশন চেক করার বেসিক কমান্ড:
repadmin /replsum

টুলটি সব DCs-এর মধ্যে বর্তমান রেপ্লিকেশন স্ট্যাটাস রিটার্ন করেছে। আদর্শভাবে, largest delta মান ১ ঘন্টার কম হওয়া উচিত (AD টপোলজি এবং ইন্টারসাইট রেপ্লিকেশন ফ্রিকোয়েন্সি সেটিংসের ওপর নির্ভর করে), এবং এরর সংখ্যা = ০। আমার উদাহরণে, দেখুন লেটেস্ট রেপ্লিকেশন ১৪ দিন হয়েছে, কিন্তু এখন এটি ঠিক আছে।
ডোমেনের সব DCs-এর জন্য রেপ্লিকেশন চেক করতে:
repadmin /replsum *
ইন্টারসাইট রেপ্লিকেশন টেস্ট করতে:
repadmin /showism
রেপ্লিকেশন টপোলজি এবং এরর (যদি থাকে) দেখতে এই কমান্ড চালান:
repadmin /showrepl
কমান্ডটি DCs চেক করবে এবং প্রতিটি ডিরেক্টরি পার্টিশনের জন্য লাস্ট সফল রেপ্লিকেশনের টাইম এবং ডেট রিটার্ন করবে (last attempt xxxx was successful)।

অতিরিক্ত রেপ্লিকেশন ইনফো দেখতে এই কমান্ড ব্যবহার করুন:
repadmin /showrepl *
রিড-অনলি ডোমেন কন্ট্রোলার (RODC)-এ রাইটেবল ডোমেন কন্ট্রোলার থেকে পাসওয়ার্ড রেপ্লিকেশন চালাতে /rodcpwdrepl অপশন ব্যবহার করা হয়।
/replicate অপশন নির্দিষ্ট ডিরেক্টরি পার্টিশনকে নির্দিষ্ট DC-এ তত্ক্ষণ রেপ্লিকেট শুরু করে।
নির্দিষ্ট DC-কে তার সব রেপ্লিকেশন পার্টনারসহ সিঙ্ক্রোনাইজ করতে নিচের কমান্ড ব্যবহার করুন:
replmon /syncall <nameDC>
রেপ্লিকেশন কিউ দেখতে:
repadmin /queue
আদর্শভাবে, রেপ্লিকেশন কিউ খালি থাকা উচিত।

কারেন্ট ডোমেন কন্ট্রোলারের লেটেস্ট ব্যাকআপ কখন তৈরি হয়েছিল চেক করুন:
Repadmin /showbackup *
আপনি PowerShellও ব্যবহার করে রেপ্লিকেশন স্টেট চেক করতে পারেন। উদাহরণস্বরূপ, নিচের কমান্ড আউট-গ্রিডভিউ টেবিলে খুঁজে পাওয়া সব রেপ্লিকেশন এরর দেখাবে:
Get-ADReplicationPartnerMetadata -Target * -Partition * | Select-Object Server,Partition,Partner,ConsecutiveReplicationFailures,LastReplicationSuccess,LastRepicationResult | Out-GridView

আমার GitHub রিপোজিটরিতে আমি AD-এ রেপ্লিকেশন স্টেট চেক করার জন্য একটি PowerShell স্ক্রিপ্ট আপলোড করেছি যা আমি বরাবর ব্যবহার করি। স্ক্রিপ্টটি HTML ফাইল জেনারেট করে এবং Send-MailMessage কমান্ডলেট দিয়ে ইমেইল দিয়ে পাঠাতে পারে।
https://github.com/maxbakhub/winposh/blob/main/ADHealthCheck.ps1

আপনি Get-Service কমান্ডলেটও ব্যবহার করে ডোমেন কন্ট্রোলারের ADDS বেসিক সার্ভিসের স্টেট চেক করতে পারেন:
- Active Directory Domain Services (
ntds) - Active Directory Web Services (
adws) – AD PowerShell মডিউলের সব কমান্ডলেট এই সার্ভিসে কানেক্ট করে - DNS (
dnscacheএবংdns) - Kerberos Key Distribution Center (
kdc) - Windows Time Service (
w32time) - NetLogon (
netlogon)
Get-Service -name ntds,adws,dns,dnscache,kdc,w32time,netlogon -ComputerName dc01

তাহলে, এই নিবন্ধে আমরা দেখিয়েছি আপনার Active Directory ডোমেনের হেলথ ডায়াগনোজ করার জন্য বেসিক টুল, কমান্ড, এবং PowerShell স্ক্রিপ্ট। আপনি সার্ভার কোর মোডে চলমান ডোমেন কন্ট্রোলার সহ সব সাপোর্টেড Windows Server ভার্সনে এগুলো ব্যবহার করতে পারেন।