
145920
02.09.2020, aktualisiert am 05.09.2020
Abfrage in der Powershell
Habe folgende Abfrage:
Wie kann ich nun mir den DistinguishedName anzeigen lassen, damit er mir dort nur "OU=Verwaltung" anzeigt?
Gibt es dazu eine Möglichkeit?
Get-ADComputer -Filter{(Operatingsystem -like '*Windows 7 Pro*')} -Properties * |Where{$_.DistinguishedName -like '*OU=Verwaltung*'} | ft name,operatingsystem,distinguishedName
Wie kann ich nun mir den DistinguishedName anzeigen lassen, damit er mir dort nur "OU=Verwaltung" anzeigt?
Gibt es dazu eine Möglichkeit?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Kommentar vom Moderator tomolpi am 05.09.2020 um 13:03:52 Uhr
Codetags hinzugefügt
Content-ID: 601245
Url: https://administrator.de/forum/abfrage-in-der-powershell-601245.html
Ausgedruckt am: 22.04.2025 um 20:04 Uhr
6 Kommentare
Neuester Kommentar

Moin
Gruß eagle
Get-ADComputer -Filter {(Operatingsystem -like '*Windows 7 Pro*')} -Properties OperatingSystem | ?{$_.DistinguishedName -like '*OU=Verwaltung*'} | ft name,operatingsystem,distinguishedName,@{n='OU';e={[regex]::Match($_.DistinguishedName,'(?i)(?<=(OU|CN)=)(.*)(?=,(OU|DC))').Value}}

Zitat von @145920:
Danke, hab ich jetzt irgendwie übersehen. Eine Frage noch: Geht das vom Befehl her vielleicht noch einfacher? Bin ein totaler Anfänger was Powershell betrifft.
Da im DistinguishedName auch Kommata im Namen einer OU vorkommen können, kann man hier nicht den Split Befehl benutzen um universell verwendbar zu bleiben, deswegen etwas mehr Aufwand für den Regex.Danke, hab ich jetzt irgendwie übersehen. Eine Frage noch: Geht das vom Befehl her vielleicht noch einfacher? Bin ein totaler Anfänger was Powershell betrifft.

Zitat von @145920:
Hab sie für mich angepasst:
Get-ADComputer -Filter {(Operatingsystem -like '*Windows 7 Pro*')} -Properties OperatingSystem | ?{$_.DistinguishedName -like '*OU=Verwaltung*'} | ft name,operatingsystem,@{n='OU';e={[regex]::Match($_.DistinguishedName,'OU=Verwaltung').Value}}
Das ist ehrlich gesagt Schwachfug, da kannst du es ja gleich so hardcoded rein schreiben, dafür braucht man kein Regex, denn du checkst ja schon auf das Vorhandensein im Where-ObjectHab sie für mich angepasst:
Get-ADComputer -Filter {(Operatingsystem -like '*Windows 7 Pro*')} -Properties OperatingSystem | ?{$_.DistinguishedName -like '*OU=Verwaltung*'} | ft name,operatingsystem,@{n='OU';e={[regex]::Match($_.DistinguishedName,'OU=Verwaltung').Value}}
.... | select name,OperatingSystem,@{n='distinguishedName;e={'OU=Verwaltung'}}