Post 642
Windows

Alle Computer mit Filter aus Active Directory exportieren – PowerShell

Mit PowerShell und dem ActiveDirectory-Modul lassen sich Computerobjekte aus dem Active Directory gezielt filtern und als CSV-Datei exportieren. Besonders nützlich bei großen Umgebungen, wo nur bestimmte Namenskonventionen relevant sind.

Der Basis-Befehl

Das folgende Cmdlet ruft alle Computer-Objekte ab, deren Name dem Muster M*-1 entspricht – also z. B. MDESKTOP-1, MLAPTOP-1 oder MSERVER-1:

Get-ADComputer -Filter {name -like "M*-1"} `
    -SearchBase "dc=domain,dc=de" `
    -ResultSetSize $null `
    -Properties Description | `
    Export-Csv Export.csv -NoTypeInformation -Encoding UTF8

Hinweis: Im Original-Snippet steht -Prop als Kurzform für -Properties – beide Schreibweisen sind gültig. Für Klarheit empfiehlt sich der vollständige Parameter-Name.

Parameter im Detail

-Filter {name -like „M*-1“}: Wildcardsuche im AD. Das Sternchen steht für beliebig viele Zeichen. Wichtig: Der Filter verwendet eine eigene Syntax – keine regulären Ausdrücke, sondern AD-spezifische Operatoren wie -like, -eq, -ne, -gt.

-SearchBase: Schränkt die Suche auf einen bestimmten Teilbaum der AD-Hierarchie ein. Ohne diesen Parameter durchsucht Get-ADComputer die gesamte Domain. Das Distinguished Name (DN) Format muss korrekt sein: dc=domain,dc=de für die Root-Domain, ou=Workstations,dc=domain,dc=de für eine spezifische Organisationseinheit.

-ResultSetSize $null: Standardmäßig gibt Get-ADComputer nur 1000 Ergebnisse zurück. Mit $null wird das Limit aufgehoben – alle passenden Objekte werden zurückgegeben. In sehr großen Umgebungen kann das die Laufzeit erhöhen.

-Properties Description: Standardmäßig liefert Get-ADComputer nur eine Basismenge an Attributen (Name, DNSHostName, Enabled usw.). Zusätzliche Attribute wie Description, OperatingSystem oder LastLogonDate müssen explizit angefordert werden.

CSV-Export anpassen

Der Export-Csv-Befehl hat einige hilfreiche Parameter:

Export-Csv -Path "C:ExportComputer_$(Get-Date -Format 'yyyyMMdd').csv" `
           -NoTypeInformation `
           -Encoding UTF8 `
           -Delimiter ";"

-NoTypeInformation entfernt die erste Zeile mit dem Typnamen (#TYPE Microsoft.ActiveDirectory.Management.ADComputer), die Excel verwirrt. -Delimiter ";" setzt Semikolon als Trennzeichen – wichtig für deutschsprachiges Excel, das standardmäßig Semikolon erwartet.

Erweiterte Abfrage mit mehreren Attributen

Für einen umfangreicheren Export – etwa für ein Inventar – können weitere Attribute abgerufen werden:

Get-ADComputer -Filter {name -like "M*-1"} `
    -SearchBase "dc=domain,dc=de" `
    -ResultSetSize $null `
    -Properties Description, OperatingSystem, OperatingSystemVersion, `
                LastLogonDate, IPv4Address, DistinguishedName |
    Select-Object Name, Description, OperatingSystem, `
                  OperatingSystemVersion, LastLogonDate, `
                  IPv4Address, DistinguishedName |
    Export-Csv "Computer_Export.csv" -NoTypeInformation -Encoding UTF8 -Delimiter ";"

Filter-Kombinationen

Mehrere Bedingungen lassen sich mit -and und -or verknüpfen:

# Nur aktivierte Computer mit bestimmtem Namensmuster
Get-ADComputer -Filter {name -like "M*-1" -and Enabled -eq $true} `
    -SearchBase "dc=domain,dc=de" -ResultSetSize $null

# Computer in einer bestimmten OU (alternativ zu SearchBase)
Get-ADComputer -Filter {name -like "M*"} `
    -SearchBase "ou=Laptops,ou=Workstations,dc=domain,dc=de" `
    -ResultSetSize $null

Voraussetzungen

Das ActiveDirectory-PowerShell-Modul muss installiert sein. Auf Windows-Servern mit AD-Rolle ist es standardmäßig vorhanden. Auf Workstations muss es als Teil der RSAT-Tools (Remote Server Administration Tools) nachinstalliert werden:

# Windows 10/11 (1809+)
Add-WindowsCapability -Online -Name Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0

# Ältere Systeme
# RSAT manuell herunterladen und installieren (Microsoft Download Center)

Außerdem sind Leserechte im Active Directory erforderlich. Standardmäßig haben alle authentifizierten Benutzer Lesezugriff auf Computerobjekte.

Fazit

Get-ADComputer mit gezieltem Filter und expliziten Properties ist das effizienteste Werkzeug für AD-Computerexporte. Mit -ResultSetSize $null werden auch in großen Umgebungen alle Treffer erfasst, und der CSV-Export liefert sofort eine weiterverarbeitbare Inventarliste.