Benutzer mit den meisten Antworten
Get-ADUser -Filter multiple Filter

Frage
-
Hallo zusammen,
ich habe eine realtiv simple Frage die sich mir nicht beantwortet :
$Users = Get-ADUser -Filter {Enabled -eq $true -and (emailaddress -like "*@XYZ.de" -or emailaddress -like "") } -property 'emailaddress' | sort Name
Funktioniert nicht:
Get-ADUser : Error parsing query: ''Enabled' -eq $true -and (emailaddress -like "*@XYZ.de" -or emailaddress -like "") ' Error Message: 'syntax error' at position: '1'.
At C:\Users\sa-rh\Documents\Scripts\ChangeUPN.ps1:9 char:10
+ $Users = Get-ADUser -Filter {'Enabled' -eq $true -and (emailaddress -like "*@bwb ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ParserError: (:) [Get-ADUser], ADFilterParsingException
+ FullyQualifiedErrorId : ActiveDirectoryCmdlet:Microsoft.ActiveDirectory.Management.ADFilterParsingException,Microsoft.ActiveDirectory.Management.Commands.GetADUser$Users = Get-ADUser -Filter {Enabled -eq $true -and emailaddress -like "" } -property 'emailaddress' | sort Name
Funktioniert?!
Wieso das
Gruß
ooGDoo
Antworten
-
Es liegt daran das man kein -like "" setzen kann bzw darf. Es muss offensichtlich heißen: -notlike "*". Warum weiß ich nicht. Und auch das reicht nicht aus.
Es muss ganz korrekt folgendermaßen heißen:
$Users = Get-ADUser -Filter {(emailaddress -like "*@XYZ.de"-and Enabled -eq $true) -or (emailaddress -notlike "*" -and Enabled -eq $true)} -property 'emailaddress' | sort Name
ooGDoo
- Als Antwort markiert ooGDoo Freitag, 7. Juli 2017 13:15
Alle Antworten
-
.... wollte ich auch grad schreiben .... vielleicht lässt Du das "@" sogar ganz weg ... ungefähr so:
$Users = Get-ADUser -Filter "emailaddress -like '*XYZ.de' -or (emailaddress -like '' -and Enabled -eq $true)" -Properties 'emailaddress' | Sort-Object -Property Name
Grüße - Best regards
PS:> (79,108,97,102|%{[char]$_})-join'' -
Hallo,
in der aout hilfe von active Directory findest du auch ein Menge zum Thema (about_ActiveDirectory_Filter)
ich weis nicht ob es einen unterschied macht ob man email oder emailadresse nimmt, mit der ldapquery sparrst du vieleicht ein paar millisekunden :D
Get-ADUser -filter 'enabled -eq $true -and email -like "*"' Get-ADUser -LDAPFilter "(&(userAccountControl:1.2.840.113556.1.4.803:=2)(mail=*))"
-
Es liegt daran das man kein -like "" setzen kann bzw darf. Es muss offensichtlich heißen: -notlike "*". Warum weiß ich nicht. Und auch das reicht nicht aus.
Es muss ganz korrekt folgendermaßen heißen:
$Users = Get-ADUser -Filter {(emailaddress -like "*@XYZ.de"-and Enabled -eq $true) -or (emailaddress -notlike "*" -and Enabled -eq $true)} -property 'emailaddress' | sort Name
ooGDoo
- Als Antwort markiert ooGDoo Freitag, 7. Juli 2017 13:15