goodbytes
Goto Top

AD-Abfrage Attribute mittels Batch

Hallo,
mittels dsquery.exe kann ich ja Abfragen an das AD senden. Die folgende Abfrage gibt mir die Standorte aller Computer zurück.
dsquery.exe computer | dsget computer -loc
Allerdings kann ich damit meines Wissens nach nicht alle möglichen Attribute des Active Directory abfragen.
Nun möchte ich aber nach allen Computern eines bestimmten Standortes (Attribut "location") in der gesamten Domain suchen und jeweils zwei Attribute der gefundenen Objekte in eine csv-Datei schreiben.
Ist das mit dsquery/dsget überhaupt so möglich, oder bin ich da zu eingeschränkt was die abzufragenden Parameter betrifft?

Gruß
Torsten

Content-ID: 285647

Url: https://administrator.de/contentid/285647

Ausgedruckt am: 25.11.2024 um 04:11 Uhr

SlainteMhath
Lösung SlainteMhath 15.10.2015, aktualisiert am 16.10.2015 um 10:08:53 Uhr
Goto Top
Moin,

dsquery und Konsorten können nur einen eingeschränken Teil der Attribute. Versuchs doch mal mit PowerShell:

 Get-ADComputer -ldapfilter "((name=*))" -Properties Location  | Where-Object {$_.Location -eq "standort"} | Export-CSV c:\blubb.csv  

lg,
Slainte
goodbytes
goodbytes 15.10.2015 aktualisiert um 17:36:46 Uhr
Goto Top
Hallo Slainte,
vielen Dank für die schnelle Antwort! face-smile
Über die PowerShell ist es natürlich ein schneller und eleganter Weg. Das PS-Script kann ich ja direkt aus der Batch heraus aufrufen.
Kannst du mir noch sagen wie ich die Ausgabe filtere?
Ich brauche am Ende so eine Datei:
PC-001;40-16-7E-A7-1C-06
PC-002;34-17-EB-9F-E1-53

Gruß
Torsten

Edit...
Ich habe nun eine Filterung hinbekommen, allerdings klappt es noch nicht richtig.

Get-ADComputer -ldapfilter "((name=*))" -Properties Location  | Where-Object {$_.Location -eq "TEST"} | select name,macAddress,location | Export-CSV .\PS-Test.txt  

Heraus kommt das:
#TYPE Selected.Microsoft.ActiveDirectory.Management.ADComputer
"name","macAddress","location"  
"PC-001","Microsoft.ActiveDirectory.Management.ADPropertyValueCollection","Test"  

Nun verstehe ich nicht warum das Attribut "macAddress" nicht korrekt ausgelesen wird. In der Powershell-Ausgabe bekomme ich bei macAddress nur "{ }".
Wie komme ich an die korrekte macAdresse aus dem AD-Attribut? Es handelt sich um ein Standard-Attribut, welches ich nur aktiviert habe.

Gruß
Torsten