Jump to content
Melde dich an, um diesen Inhalt zu abonnieren  
Peterzz

IF Abfrage Get-ADUser

Empfohlene Beiträge

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?

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

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

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

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.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

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

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

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.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte überlege Dir, ob es nicht sinnvoller ist ein neues Thema zu erstellen.

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
Melde dich an, um diesen Inhalt zu abonnieren  

×