Hallo
Ich habe ein Script erstellt, welches mir Benutzer anzeigt die in einer Speziellen Gruppe nicht vorhanden sind. inkl Auswahlmenü.
# Auswahlmenü erstellen. function Show-Menu { param ( [string]$Title = 'Menu' ) cls Write-Host "================ $Title ================" Write-Host "1: Alle Firmen." Write-Host "2: Eine Firma" Write-Host "Q: Beenden mit 'Q'." } do # Auswahl Abfrage { Show-Menu $input = Read-Host "Bitte Auswählen" switch ($input) { # Alle Klinken OUs werden abgefragt, falls es eine neu OU geben sollte muss die hier eingetragen werden. '1' { cls $OU ="OU=Firma,DC=test,DC=local","OU=Firma2,DC=test,DC=local","OU=Firma3,DC=test,DC=local" # Alle Mitglieder der Gruppe Grupp1 werden ausgelesen $Members = (Get-ADGroup 'Grupp1' -Properties member).member # Alle Mitglieder der OUs, siehe oben, werden ausgelesen. $Users = $OU | ForEach-Object {Get-ADUser -SearchBase $PSItem -Filter * } # Die Gruppe Members und Users werden verglichen und die Benutzer die nicht in der Grupp1 sind werden angezeigt. Compare-Object -ReferenceObject $Users -DifferenceObject $Members | Where-Object {$_.SideIndicator -eq '<='} # Explisziet Abfrage auf eine Klinik bzw. OU } '2' { cls $OU = Read-Host -Prompt "Bitte OU eingeben. z.b Firma, Firma2, Firma3,." $Members = (Get-ADGroup 'Grupp1' -Properties member).member $Users = Get-ADUser -Filter * -SearchBase "OU=$OU,DC=test,DC=local" Compare-Object -ReferenceObject $Users -DifferenceObject $Members | Where-Object {$_.SideIndicator -eq '<='} } 'q' { return } }
Direkt auf den AD Server funktioniert das Script auch einwandfrei.
Wenn ich aber das Script als Admin in unserer Citrix Umgebung ausführe, habe ich folgendes verhalten.
1) Das Abfragemenu kommt.
2) Ich wähle z.B Punkt 2 aus.
3) Gebe z.B Firma ein.
4) Es wird kein Ergebnis angezeigt
5) Es erscheint "Drücken Sie die Eingabetaste, um den Vorgang fortzusetzen...:" --> mach ich dann und das Menü erscheint auch wieder.
6) Ich wähle nochmals Punkt 2 aus.
7) Gebe nochmals Firma ein.
8) Das Ergebnis wird jetzt doppelt angezeigt. z.B:
CN=User1,OU=Firma,DC=test,DC=local
CN=User1,OU=Firma,DC=test,DC=local
9) Es erscheint "Drücken Sie die Eingabetaste, um den Vorgang fortzusetzen...:"
10) Ich wähle nochmals Punkt 2 aus.
11) Gebe nochmals Firma ein.
12) Ergebnis wird Richtig angezeigt.
CN=User1,OU=Firma,DC=test,DC=local
Hat wer einen Idee, warum das so ist ? Ich komme nicht dahinter.
Danke
Andi-Willi