none
PowerShell - Wie den Inhalt einer Variable als AD Filter verwenden und Kontakt löschen? RRS feed

  • Frage

  • Problem:

    Ich versuche in einer Schleife herauszufinden, ob ein User bereits als AD "Kontakt" exitstiert und möchte diesen Kontakt, nach dem Enable-Mailbox Befehl anschließend löschen. Leider nimmt er den Filter nicht, den ich in einer Variable definiert habe...

    # $user --> Benutzer welcher über eine csv Liste eingelesen wird # $user.Alias --> Alias des Benutzers aus der CSV $ContactFilter = '*' + $user.Alias + '*' $ContactUser = Get-ADObject -Filter {(objectClass -eq "contact") -and (cn -like "$ContactFilter")}

    CSV eingelesen, folgende Vairablen-Inhalte:

    PS C:\> $ContactFilter *neumann*

    PS C:\> $user

    Alias  
    -----  
    neumann

    PS C:\> $user.Alias
    neumann

    Jetzt müsste doch diese Abfrage funktionieren?

    $ContactFilter = '*' + $user.Alias + '*'
    $ContactUser = Get-ADObject -Filter {(objectClass -eq "contact") -and (cn -like "$ContactFilter")}


    Aber das Ergebnis ist NULL...?

    ABER die direkte Abfrage gegen den Alias:

    $ContactUser = Get-ADObject -Filter {(objectClass -eq "contact") -and (cn -like "*neumann*")

    Liefert:

    PS C:\> $ContactUser
    
    DistinguishedName                            Name            ObjectClass ObjectGUID                          
    -----------------                            ----            ----------- ----------                          
    CN=Margrit Neumann,CN=Users,DC=contoso,DC=com Tester Neumann contact     97a0f9b8-6fdc-4cb3-be41-d56c3da88f94

    Heißt, obwohl der Inhalt der Variable

    $ContactFilter

    exakt dem Filter *neumann* entspricht, liefert die Abfrage kein Ergebnis zurück...?

    Weiß jemand warum?

    Danke vorab für alle Hinweise...
    /Sven



    Mittwoch, 30. Oktober 2019 13:47

Antworten

  • Ich weiß nicht warum es JETZT geht, aber für die Suchfunktion, so hat es jetzt funktioniert:

    [String]$ContactFilter = '*' + $user.Alias + '*' $ContactUser = Get-ADObject -Filter {(objectClass -eq "contact") -and (cn -like $ContactFilter)}

    PS C:\> $ContactUser

    DistinguishedName                            Name            ObjectClass ObjectGUID                          
    -----------------                            ----            ----------- ----------                          
    CN=Margrit Neumann,CN=Users,DC=contoso,DC=com Tester Neumann contact     97a0f9b8-6fdc-4cb3-be41-d56c3da88f94


    • Als Antwort markiert L0rd-H3lmchen Mittwoch, 30. Oktober 2019 14:06
    Mittwoch, 30. Oktober 2019 14:06