145963
Goto Top

Powershell Regulärer Ausdruck

Hallo Admin's,


das erste Bild ist mein Befehl mit dem ich nach den Computernamen in Bild 2 suchen will.
Bisher filtere ich ja nach Namen die ein "e" gefolgt von einer "1" im Namen haben.
Ich möchte aber dieses Muster durch einen Regex austauschen, der mir wie in Bild 2

entweder so ein Muster
1309-002
oder so ein Muster
E126-003
oder so ein Muster
lehrsaal-1

suchen kann. Ich weiß das man Zahlen mit "\d" sucht, und Wörter mit "\w".

Nur versteh ich den richtigen Aufbau nicht. Mein bisheriger Versuch sah so aus:

PS Y:\> Get-ADcomputer -Filter{(name -like "*\w*|*\d*") -and (operatingsystem -like 'Windows 7*')} -Properties * | sort name | Format-Table name,operatingsystem,DistinguishedName

Aber er findet da bei mir nichts. Hab ich zusätzliche Klammern vergessen, zusätzliche Trennzeichen um "\d" und "\w" zu trennen?

Jetzt hab ich folgendes versucht:

PS Y:\> Get-ADcomputer -Filter{(name -like "*[a-zA-Z][1-9]*") -and (operatingsystem -like 'Windows 7*')} -Properties * | sort name | Format-Table name,operatingsystem,DistinguishedName

Aber auch da kein Ergebnis.

Gruß fe-mi-fi
computernamen
computernamenbefehlps

Content-ID: 605415

Url: https://administrator.de/forum/powershell-regulaerer-ausdruck-605415.html

Ausgedruckt am: 22.04.2025 um 21:04 Uhr

145916
Lösung 145916 17.09.2020 aktualisiert um 17:09:25 Uhr
Goto Top
Moinsens,
der -Like Operator unterstützt nur simple Wildcards keine Regular Expressions! Liest du hier nach:
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell. ...
Da der ActiveDirectory-Filter keinen -match Vergleichs-Operator besitzt der RegularExpressions-Vergleiche macht kannst du es einfach mit einem nachgeschalteten Where-Object abfackeln:
Get-ADcomputer -Filter {operatingsystem -like 'Windows 7*'} -Properties * | ?{$_.Name -match '^(\d{4}-\d{3}|E\d{3}-\d{3}|\w+-\d+)$'} | sort name | Format-Table name,operatingsystem,DistinguishedName
Noch ein Tipp, das -properties * solltest du besser immer nur auf die Properties einschränken die du wirklich benötigst sonst dauert das ganze länger weil die PS sonst sämtliche Eigenschaften jedes zutreffenden Objektes aus dem AD abfragen muss.

G. eagle
145963
145963 17.09.2020 um 17:08:15 Uhr
Goto Top
Danke, hab ich gleich ausprobiert und hat viel gefunden. Mit dem werd ich weiterarbeiten. Danke Dir.
Schönen Feierabend!