lorsumalpha
Goto Top

Powershell: -contains bei zwei Arrays

Moin!
Ich versuche ein einfaches Script zu schreiben, womit ich checken kann, ob der User in der AD-Gruppe ist oder nicht.
Das hier ist mein Ansatz:
$UserOBJ = @(Get-ADUser -identity "test" | Select DistinguishedName)  
$GroupDN = Get-ADGroup -Identity "US-15-EX-testbox-SA" | Select DistinguishedName  
$user = @(Get-ADGroupMember -Identity "US-15-EX-testbox-SA" | Select DistinguishedName)  

if($user -contains $UserOBJ){
    Write-Host 'member found'  
}else{
    Write-Host 'member not found'  
}

Beim Aufruf von $UserOBJ und $user kommt genau der gleiche DistinguishedName raus; Habe bei der Testgruppe auch nur wirklich mich als User drin d.h. nur ein DistinguishedName.

Meine Vermutung wäre dass es sich um ein Array bei $user handelt und der das nicht hinkriegt.

Habt ihr eine Idee?
Danke!
Christian

Content-ID: 3757808225

Url: https://administrator.de/contentid/3757808225

Ausgedruckt am: 22.11.2024 um 12:11 Uhr

3714160434
Lösung 3714160434 26.08.2022 aktualisiert um 12:05:16 Uhr
Goto Top
Du vergleichst Objekte statt Strings, und deine custom objects sind nunmal nicht gleich
Expandiere die Property überall
...... | Select -ExpandProperty DistinguishedName
oder vergleiche die Property mit Aufruf diese im Vergleich
if($user.DistinguishedName -contains $UserOBJ.DistinguishedName){
lorsumalpha
lorsumalpha 26.08.2022 um 12:04:48 Uhr
Goto Top
Zitat von @3714160434:

Du vergleichst Objekte statt Strings, und custom objects sind nunmal nicht gleich
Expandiere die Property
...... | Select -ExpandProperty DistinguishedName

Mal wieder der Retter! Danke!