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!
Top-Artikel in diesem Bereich
Als Alternative zu speziellen Programmen kann auch mit PowerShell das Datum einer Datei oder eines Ordners geändert werden.
Wer die Einstellungen für die Bildschirmsperre nicht ändern kann, kann alternativ regelmäßig die Maus bewegen, oder die Maus von einem Script bewegen lassen. Ursprünglich als AutoIt-Script veröffentlicht, habe ich das Script mit ein paar PowerShell-Zeilen nachgebaut. Wer die folgenden Befehle in eine PowerShell-Sitzung kopiert, verhindert, dass sich der Computer sperrt:
Um bei einem bestehenden Ordner einen User mit Schreib-Berechtigungen hinzuzufügen, kann folgendes Skript verwendet werden:
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