Um eine AD Health Check durchzuführen, müssen im Vorfeld diverse Informationen mit dem Kunden abgestimmt werden.
Dem Kunden sollte im Vorfeld eine Frage gestellt und auf Basis dieser eine entsprechende Diskussion eingeleitet werden.
"Was erhoffen Sie sich durch einen AD Health Check"
3-5 Tage (Sammeln der Informationen, Aufbereiten der Informationen, Ergebnisbesprechung mit dem Kunden)
Repadmin /replsummary
auf Fehler prüfen
Repadmin /Showrepl
auf Fehler prüfen
Forrest und Domain Functional Level prüfen
(get-addomain).DomainMode
(get-adforrest).ForestMode
Prüfung der Versionsstände der Domain Controller
[System.environment]::OSVersion.Version
Prüfung der auf dem DC installierten Rollen und Features
Import-module servermanager ; Get-WindowsFeature | where-object {$_.Installed -eq $True} | format-list DisplayName
Prüfung der aud den DCs laufenden Dienste
get-service DFSR
get-service FRS
get-service DNS
get-service NTDS
get-service NETLOGON
Prüfung der essentiellen AD Dienste via DCDIAG
dcdiag /test:netlogons
dcdiag /test:replications
dcdiag /test:advertising
dcdiag /test:fsmocheck
dcdiag /test:DFSREvent
dcdiag /test:SystemLog
dcdiag /test:KnowsOfRoleHolders
dcdiag /test:SysVolCheck
Prüfung der Eventlogs auf den DCs
Administrative Ereignisse
DNS Server
DFS Replikation
Directory Service
Prüfung DNS Einstellungen
Security Relevante Prüfungen
Get-ADComputer -Filter {OperatingSystem -Like '*Windows 7*'} -Properties OperatingSystem,OperatingSystemVersion,OperatingSystemServicePack,LastLogonDate,ServicePrincipalName,TrustedForDelegation,TrustedtoAuthForDelegation | Export-Csv -Delimiter ";" -NoClobber -NoTypeInformation -Encoding UTF8 -Path "C:\temp\$(Get-Date -Format yyyyMMdd-HHmm)-ComputerWindows7.csv"
Get-ADComputer -Filter {OperatingSystem -Like '*Windows 8*'} -Properties OperatingSystem,OperatingSystemVersion,OperatingSystemServicePack,LastLogonDate,ServicePrincipalName,TrustedForDelegation,TrustedtoAuthForDelegation | Export-Csv -Delimiter ";" -NoClobber -NoTypeInformation -Encoding UTF8 -Path "C:\temp\$(Get-Date -Format yyyyMMdd-HHmm)-ComputerWindows8.csv"
Get-ADComputer -Filter {OperatingSystem -Like '*Windows 2000*'} -Properties OperatingSystem,OperatingSystemVersion,OperatingSystemServicePack,LastLogonDate,ServicePrincipalName,TrustedForDelegation,TrustedtoAuthForDelegation |Export-Csv -Delimiter ";" -NoClobber -NoTypeInformation -Encoding UTF8 -Path "C:\temp\$(Get-Date -Format yyyyMMdd-HHmm)-ComputerWindows2000.csv"
Get-ADComputer -Filter {OperatingSystem -Like '*Windows Server 2003*'} -Properties OperatingSystem,OperatingSystemVersion,OperatingSystemServicePack,LastLogonDate,ServicePrincipalName,TrustedForDelegation,TrustedtoAuthForDelegation | Export-Csv -Delimiter ";" -NoClobber -NoTypeInformation -Encoding UTF8 -Path "C:\temp\$(Get-Date -Format yyyyMMdd-HHmm)-ComputerWindows2003.csv"
Get-ADComputer -Filter {OperatingSystem -Like '*Windows Server 2008*'} -Properties OperatingSystem,OperatingSystemVersion,OperatingSystemServicePack,LastLogonDate,ServicePrincipalName,TrustedForDelegation,TrustedtoAuthForDelegation | Export-Csv -Delimiter ";" -NoClobber -NoTypeInformation -Encoding UTF8 -Path "C:\temp\$(Get-Date -Format yyyyMMdd-HHmm)-ComputerWindows2008.csv"
Get-ADUser krbtgt -Property PasswordLastSet