145920
Sep 02, 2020, updated at Sep 05, 2020 (UTC)
686
6
0
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?
Please also mark the comments that contributed to the solution of the article
Kommentar vom Moderator tomolpi am Sep 05, 2020 um 11:03:52 Uhr
Codetags hinzugefügt
Content-Key: 601245
Url: https://administrator.de/contentid/601245
Printed on: April 24, 2024 at 03:04 o'clock
6 Comments
Latest comment
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'}}