Wie kann ich die AD-Attribute erhalten, die Kleinbuchstaben enthalten, wie: Wa, Co, ny, la
Verwenden von:
Get-ADUser -Properties State -Filter { (Enabled -eq $true) -and (State -cmatch '^[a-z]') } | Select SamAccountName, State | Out-GridView
Der Fehler ist:
Get-ADUser : Error parsing query: ' (Enabled -eq $true) -and (State -cmatch '^[a-z]') ' Error Message: 'Operator Not supported: -cmatch' at position:
'34'.
At line:1 char:1
+ Get-ADUser -Properties State -Filter { (Enabled -eq $true) -and (Stat ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ParserError: (:) [Get-ADUser], ADFilterParsingException
+ FullyQualifiedErrorId : ActiveDirectoryCmdlet:Microsoft.ActiveDirectory.Management.ADFilterParsingException,Microsoft.ActiveDirectory.Managemen
t.Commands.GetADUser
2 Antworten
Zusätzlich zu der hilfreichen Antwort von Doug Maurer können Sie in einem nicht die Vergleichsoperatoren -match
oder -cmatch
verwenden Filter. Außerdem sollte ein Filter eigentlich eine Zeichenfolge sein, kein Skriptblock ({..}
).
In Ihrem Fall sollten Sie eine Where-Object
-Klausel hinzufügen, um Regex verwenden zu können, nachdem Sie nach der Eigenschaft Enabled
gefiltert haben:
Get-ADUser -Properties State -Filter "Enabled -eq 'True'" |
Where-Object { $_.State -cmatch '[a-z]' } |
Select SamAccountName, State | Out-GridView
Der Fehler besagt eindeutig, dass der Operator -cmatch nicht unterstützt wird. Der Filter wird in diesem Fall vom AD-Anbieter verwaltet, sodass nicht alle Powershell-Operatoren unterstützt werden. Erkundigen Sie sich bei jedem PS-Anbieter. Hier ist eine Liste, die Sie verwenden können. https://adsecurity.org/?p=297
Neue Fragen
regex
Reguläre Ausdrücke bieten eine deklarative Sprache, um Muster innerhalb von Zeichenfolgen abzugleichen. Sie werden häufig zur Validierung, Analyse und Transformation von Zeichenfolgen verwendet. Da reguläre Ausdrücke nicht vollständig standardisiert sind, sollten alle Fragen mit diesem Tag auch ein Tag enthalten, das die jeweilige Programmiersprache oder das jeweilige Tool angibt.