AD: Active Directory Daten auslesen
Mit Windows PowerShell Active Directory Objekte auslesen.
AD-Objekte: Users / Gruppen und Computer
User auslesen
alle nicht deaktiverten Domänen-User auslesen und nur den Namen anzeigen:
get-aduser -ldapfilter "(&(&(objectCategory=user)(userAccountControl=512)))" | where-object -property enabled -eq true | fl name
userAccountControl=512 heißt "NORMAL_ACCOUNT", siehe: https://support.microsoft.com/en-us/help/305144/how-to-use-useraccountcontrol-to-manipulate-user-account-properties
Gruppen auslesen
Get-ADGroup -Filter "GroupScope -eq 'Global' -and GroupCategory -eq 'Security'"
verschachtelte AD-Gruppen-Mitgliedschaften (nested)
Get-ADNestedGroupMembers "GroupName"
Computer auslesen
Get-ADComputer -filter 'name -like "*"' -Properties * | select name,OperatingSystem,IPv4Address
Suche mit einem Filter:
Get-ADComputer -filter 'name -like "*SEARCHSTRING*"' -Properties * | select name,OperatingSystem,IPv4Address
Username zu SID
(New-Object System.Security.Principal.NTAccount($(read-host -prompt "Username"))).Translate([System.Security.Principal.SecurityIdentifier]).value
OU Berechtigungen auslesen / Delegation
Auf der Suche nach einem Tool um alle OU-Berechtigungen auszuwerten, bin ich auf ein Script in der Technet-Gallery gestoßen: gallery.technet.microsoft.com
auf eine andere Domäne verbinden (Trust)
als kleine Ergänzung zu dem Technet-Gallery Beispiel:
Für das Verbinden auf eine andere Domäne kann bei den Befehlen jeweils -Server ein bestimmter Domänen-Controller verwendet werden:
$OUs = Get-ADObject -SearchBase (Get-ADRootDSE).schemaNamingContext -LDAPFilter '(schemaIDGUID=*)' -server $FQDN_DC_ServerName -Properties name, schemaIDGUID
Damit Get-ACL auf eine andere Domäne angewandt wird, kann die Domäne wie folgt mittels New-PSDrive verbunden werden:
New-PSDrive -Name AD2 -PSProvider ActiveDirectory -Server $FQDN_DC_ServerName -root "//RootDSE/"
...
ForEach ($OU in $OUs) {
$report += Get-Acl -Path "AD2:\$OU"
AD und DNS
DNS Zonen
Get-DnsServerZone -ComputerName DOMAINCONTROLLERNAME
alle Domain-Controller anzeigen:
(Get-ADForest).Domains | %{ Get-ADDomainController -Filter * -Server $_ }
um das Ergebnis in eine CSV-Datei zu schreiben, kann der Befehl wie folgt erweitert werden:
(Get-ADForest).Domains | %{ Get-ADDomainController -Filter * -Server $_ } | Export-csv c:\temp\allDCs.csv -delimiter ";" -NoTypeInformation
Subnets in Sites and Services
Get-ADReplicationSubnet -filter * -Properties * | Select Name, Site, Location, Description | export-csv -Delimiter ";" -Path c:\temp\subnets.csv -NoTypeInformation
Exchange Version
Get-ADObject "CN=ms-Exch-Schema-Version-Pt,$((Get-ADRootDSE).schemaNamingContext)" -Property Rangeupper
Hier die zugehörige Versions-Tabelle: https://eightwone.com/references/schema-versions/ oder https://adsecurity.org/?page_id=195
{{percentage}} % positiv
DANKE für deine Bewertung!
Fragen / Kommentare
(sortiert nach Bewertung / Datum) [alle Kommentare(neueste zuerst)]
Für all jene Leser, die wie ich keine Administratoren sind und sich wundern, wieso get-aduser auf ihrem Windows 10 nicht vorhanden ist: Das Tool muss erst aktiviert werden, so wie im folgenden Microsoft-Artikel beschrieben. https://support.microsoft.com/en-us/help/2693643/remote-server-administration-tools-rsat-for-windows-operating-systems