🛡️ Active Directory Health Check v2.6

🇩🇪 Deutsch | 🇬🇧 English
एक व्यापक PowerShell स्क्रिप्ट जो Active Directory वातावरण की सेहत और सुरक्षा की स्वचालित जाँच के लिए है। इसमें Best-Practice मूल्यांकन, रंग-कोडित HTML रिपोर्ट और CSV निर्यात शामिल है।
🇩🇪 Deutsch
📑 विषय-सूची
✨ Features
- 🎯 54 Best-Practice-Checks विषय-आधारित क्रम में (DC-आधार, Security, संरचना, Monitoring)
- 🖼️ आधुनिक WPF-GUI (Light Theme) जिसमें समूह-चयन, Suite-बटन और आउटपुट-पथ चयन उपलब्ध है
- 🎨 रंग-कोडित HTML रिपोर्ट Executive Dashboard के साथ (OK / WARN / KRITISCH / INFO)
- 📊 CSV-निर्यात सभी Check-परिणामों का
- 🖥️ इंटरैक्टिव स्टार्ट मेनू कंसोल-संचालन के लिए fallback के रूप में
- ⚡ पैरामीटर-आधारित निष्पादन Scheduled Tasks / स्वचालन के लिए
- 📁 स्वतंत्र रूप से चयनित आउटपुट-पथ GUI या
-OutputPath पैरामीटर के माध्यम से
- 🔍 DCDiag विस्तृत परीक्षण-पार्सिंग के साथ (DE/EN भाषा-स्वतंत्र)
- 🔄 Loopback-पहचान स्थानीय DCs के लिए (
localhost का उपयोग FQDN के बजाय)
- 📡 Ping-Skip-लॉजिक अप्राप्य DCs के लिए WinRM पर fallback के साथ
- 🌍 भाषा-स्वतंत्र Well-Known SIDs के माध्यम से
- 🗣️ स्वचालित भाषा पहचान और DE/EN भाषा स्विच – WPF-GUI में लाइव स्विच करने योग्य, पैरामीटर
-Language de|en से ओवरराइड करने योग्य
- 📝 विस्तृत लॉगिंग (
C:\ScriptLog)
- 🔧 मॉड्यूलर संरचना - व्यक्तिगत Checks को लक्षित रूप से निष्पादित किया जा सकता है
📋 Die 54 Checks
🏗️ DC-आधार अवसंरचना
| # | Check | विवरण |
|---|
| 1 | DC सिस्टम-जानकारी | OS, RAM, Uptime, हार्डवेयर |
| 2 | सेवाएँ | NTDS, DNS, Netlogon, KDC, W32Time, DFSR |
| 3 | DCDiag-परीक्षण | सभी DC-निदान-परीक्षणों की विस्तृत पार्सिंग |
| 4 | प्रतिकृति (साझेदार) | प्रत्येक DC-साझेदार की स्थिति |
| 4b | प्रतिकृति-त्रुटियाँ (Forest) | Forest-व्यापी प्रतिकृति समस्याएँ |
| 5 | FSMO-भूमिकाएँ | सभी 5 FSMO-भूमिका धारक |
| 6 | DNS-कॉन्फ़िगरेशन | ज़ोन, AD-एकीकरण, Dynamic Updates |
| 7 | SYSVOL और NETLOGON | पहुँच-योग्यता |
| 8 | NTDS-डेटाबेस | आकार, खाली डिस्क स्थान |
🔒 Security: नेटवर्क-प्रोटोकॉल
| # | Check | विवरण |
|---|
| 9 | TLS-प्रोटोकॉल (SCHANNEL) | SSL 2.0/3.0, TLS 1.0/1.1/1.2/1.3 |
| 10 | Cipher और एल्गोरिदम | RC4, DES, MD5 और अन्य कमज़ोर Cipher |
| 11 | SMB1 और SMB-Signing | WannaCry-सुरक्षा, Signing अनिवार्य |
| 12 | NTLM / LAN-Manager Auth Level | LmCompatibilityLevel=5 Best Practice |
| 13 | LLMNR / NetBIOS / WPAD | Responder-हमला-सुरक्षा |
| 14 | LDAP-Security | Signing + Channel Binding (ADV190023) |
| 15 | Windows Firewall | सभी 3 प्रोफ़ाइल सक्रिय? |
👥 Security: खाते और Kerberos
| # | Check | विवरण |
|---|
| 16 | विशेषाधिकार प्राप्त खाते | Domain/Enterprise/Schema Admins आदि |
| 17 | Password-Policy | MinLen, History, MaxAge, Complexity, Lockout |
| 18 | Kerberos / krbtgt | पासवर्ड-आयु (Best Practice: ≤180 दिन) |
| 19 | Kerberos Unconstrained Delegation | Domain-Takeover-जोखिम-पहचान |
| 20 | Kerberoasting-जोखिम | SPN वाले User-Accounts का विश्लेषण |
| 21 | LSA Protection (RunAsPPL) | Credential-Dumping (Mimikatz) के विरुद्ध सुरक्षा |
🛡️ Security: सिस्टम हार्डनिंग
| # | Check | विवरण |
|---|
| 22 | DCs पर Print Spooler | CVE-2021-34527 (PrintNightmare) |
| 23 | Secure Boot प्रमाणपत्र-अपडेट | Windows UEFI CA 2023 Deployment-स्थिति |
| 24 | प्रमाणपत्र | समाप्ति-निगरानी, EKU-Check |
🌐 AD-संरचना
| # | Check | विवरण |
|---|
| 25 | AD-Sites | Site-अवलोकन |
| 26 | AD-सबनेट | सबनेट-से-Site-आवंटन |
| 27 | विश्वास-संबंध | Domain/Forest Trusts |
| 28 | AD Recycle Bin | फ़ीचर की सक्रियता-स्थिति |
| 29 | Tombstone Lifetime | Best Practice ≥180 दिन |
| 30 | Forest-/Domain-Level | Functional Level |
| 31 | GPO-Health | Sysvol/DS-संस्करण-मेल-विसंगति |
👤 निष्क्रिय खाते
| # | Check | विवरण |
|---|
| 32a | निष्क्रिय User | >90 दिन कोई लॉगिन नहीं |
| 32b | निष्क्रिय Computer | >90 दिन कोई लॉगिन नहीं |
| 32c | पासवर्ड कभी समाप्त नहीं होता | Flag-Check |
📊 Monitoring और संचालन
| # | Check | विवरण |
|---|
| 33 | Event-Log-मूल्यांकन | System / Directory Service / DNS (पिछले 24h) |
| 34 | समय-समकालन | PDC + Domain-DCs |
| 35 | AD-Backup-स्थिति | repadmin /showbackup के माध्यम से |
| 36 | स्थापित प्रोग्राम | प्रत्येक DC के लिए Inventory |
| 37 | Windows Updates | अंतिम 20 अपडेट, आयु-मूल्यांकन |
| 45 | स्थापित Windows Features | प्रत्येक DC पर स्थापित भूमिकाएँ और फ़ीचर (ServerManager) |
| 46 | SMB-साझाकरण (Shares) | सभी साझाकरण सहित पथ, अनुमतियाँ और एन्क्रिप्शन |
🧬 Identity और DNS (नया)
| # | Check | विवरण |
|---|
| 38 | SPN-दोहराव | एकाधिक बार दिए गए SPNs की पहचान (Kerberos-संघर्ष) |
| 39 | AS-REP-Roasting-जोखिम | Kerberos Pre-Authentication के बिना User |
| 40 | AdminSDHolder / AdminCount-Drift | AdminCount=1 बिना वर्तमान सुरक्षा-समूह सदस्यता के |
| 41 | Fine-Grained Password Policies | FGPP-कठोरता, Lockout और लक्ष्य-समूह-आवंटन |
| 42 | DNS-स्वच्छता (Aging / Scavenging) | Aging/Scavenging, Reverse-ज़ोन, Dynamic-Update-जोखिम |
| 43 | LAPS-कॉन्फ़िगरेशन | Local Admin Password Solution - सक्रियता-स्थिति, Computer-कवरेज (Server 2019 से) |
| 44 | AES के बिना खाते | RC4-only या AES-एन्क्रिप्शन के बिना खाते खोजता है (सुरक्षा-जोखिम) |
🎯 Security: हमला-वेक्टर 2025/2026
| # | Check | विवरण |
|---|
| 47 | RC4 → AES माइग्रेशन-ऑडिट | 2026 में RC4-बंद होने से पहले AES के बिना खाते (CVE-2026-20833) + DCs की KDC-Registry |
| 48 | DCSync-अनुमतियाँ | DCs के बाहर प्रतिकृति-अधिकार (पासवर्ड-हैश-निष्कर्षण-जोखिम) |
| 49 | RBCD और Constrained Delegation | msDS-AllowedToActOnBehalfOfOtherIdentity और msDS-AllowedToDelegateTo सहित प्रोटोकॉल-परिवर्तन |
| 50 | dMSA / BadSuccessor | Delegated Managed Service Accounts (Server 2025) और Superseding-पैटर्न |
| 51 | MachineAccountQuota | ms-DS-MachineAccountQuota (Best Practice: 0) |
| 52 | अनाम LDAP-पहुँच | PDC + dSHeuristics के विरुद्ध अनाम Bind-परीक्षण |
| 53 | SYSVOL में GPP/cpassword | GPP-XMLs में स्पष्ट-पाठ डिक्रिप्ट करने योग्य पासवर्ड (MS14-025) |
| 54 | Protected Users Audit | सभी विशेषाधिकार प्राप्त खाते Protected-Users-समूह में? |
💻 सिस्टम आवश्यकताएँ
- Windows Server 2016 या नया
- PowerShell 5.1+
- RSAT / AD-Tools स्थापित:
- ActiveDirectory-मॉड्यूल
- GroupPolicy-मॉड्यूल
- DnsServer-मॉड्यूल
- Domain Admin-अधिकार अनुशंसित
- सभी DCs पर WinRM सक्रिय (या DCOM-Fallback)
- AD-Connectivity वाले DC या Management-Server पर निष्पादन
🚀 Installation
# Repository klonen
git clone https://gitlab.com/RoccoAmmon/Active-Directory-Health-Check.git
cd Active-Directory-Health-Check
# Skript ausführen (interaktiv)
.\AD_Health_Check.ps1
# Oder automatisiert (alle 54 Checks)
.\AD_Health_Check.ps1 -FullRun
⚙️ उपयोग
# Interaktive WPF-GUI (Standard)
.\AD_Health_Check.ps1