Peterzz 11 Geschrieben 17. Februar 2017 Melden Teilen Geschrieben 17. Februar 2017 Hallo zusammen, ich habe ein Powershell Script bei dem ich ein Problem mit einer IF-Abfrage und der Bedingung "not equal" (-ne) habe. Folgendes Testscript soll mein Problem veranschaulichen. param ( [Parameter(Mandatory=$True,Position=1)] [string]$Benutzername ) If (Get-ADUser -filter {SamAccountName -ne $Benutzername}) { Write-Host "Benutzer nicht da" } Else { Write-Host "Benutzer ist da" } Das Script gibt mir immer "Benutzer nicht da" aus, obwohl der Benutzername gleich einem SamAccountName ist. Benutze ich anstelle von "-ne" "eq" wird immer die richtige Auswahl (Text müsste natürlich getauscht werden) angezeigt. Warum funktioniert die Bedingung -ne anders als -eq? Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 17. Februar 2017 Melden Teilen Geschrieben 17. Februar 2017 Moin, vielleicht mal richtigrum gefragt: Was willst du denn erreichen? Deine Abfrage würde dir alle User zurückgeben, die nicht den überreichten Logonnamen haben. Also je nach Domäne schon mal zigtausend Stück in einem Array. Schon ziemlich klar, dass das "falsch" ist, wenn du es mit einem String vergleichst. Gruß, Nils Zitieren Link zu diesem Kommentar
Peterzz 11 Geschrieben 17. Februar 2017 Autor Melden Teilen Geschrieben 17. Februar 2017 Ich möchte im AD nachschauen, ob es diesen Benutzer (händische Eingabe) schon gibt und wenn nicht, dann soll z.B. ein Text erscheinen und wenn ja dann ... . Mit einer equal-Bedingung scheint es auch zu funktionieren. Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 17. Februar 2017 Melden Teilen Geschrieben 17. Februar 2017 Moin, warum deine Abfrage nicht funktioniert, habe ich ja schon geschrieben. Bei sowas musst du die dahinter stehende Logik immer genau im Blick behalten. In deinem Fall wäre es wohl am besten, den gewünschten User mit "equals" abzufragen und darauf zu reagieren: if (Get-ADUser -Filter {samaccountname -eq $Suchwert}) { 'gibts' } else { 'gibts nicht' } Gruß, Nils Zitieren Link zu diesem Kommentar
Peterzz 11 Geschrieben 17. Februar 2017 Autor Melden Teilen Geschrieben 17. Februar 2017 Danke, dann werde ich es mit einem -eq bewerkstelligen. Zitieren Link zu diesem Kommentar
daabm 1.354 Geschrieben 17. Februar 2017 Melden Teilen Geschrieben 17. Februar 2017 Erinnert mich an WMI-Filter auf "ist nicht vorhanden", geht ja auch nicht :-) Anders formuliert: Einen User, der anders heißt, gibt es immer. Deshalb landet Deine Abfrage immer im ersten Teil. Du mußt die Logk umbauen. Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.