Jump to content

Berechtigung zum Senden an ein Postfach


Direkt zur Lösung Gelöst von NilsK,
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

Hallo,

 

ich bin auf der Suche meines Denkfehlers.

 

Mit dem folgenden Code möchte ich überprüfen, ob ein User berechtigt ist, an ein bestimmtes Postfach ("Export") ein Mail zu senden.

Hiezu lese ich die Eigenschaft "AcceptMessagesOnlyFrom" des Postfaches aus und speichere sie in einer Variable ($MailExportUser). Danach überprüfe ich mit der If-Anweisung, ob sich die Kennung in der Liste befindet.

$Kennung = "abcde" #SamAccountName eines Users
$MailExportUser = Get-Mailbox -Identity "Export" | Select-Object AcceptMessagesOnlyFrom

If ($MailExportUser -contains $Kennung -eq $true) 
    { "Ja"  }
Else
    { "Nein"  }

Das Problem dabei ist, dass ich immer nur "Ja" zurückbekomme! Und ich verstehe nicht warum?!? :confused:

Lg, Joker

 

Geschrieben (bearbeitet)

Bei $MailExportUser bekomme ich zurück:

 

 

Was mir dabei gerade auffällt ist, dass hier nicht der SamAccountName sondern der CanonicalName angeführt ist!

PS C:> $MailExportUser

AcceptMessagesOnlyFrom
----------------------
{firma.de/Einkauf/Mustermann Max, firma.de/Einkauf/Musterfrau Mathilde, firma.de/Lager/Doe Jo...}
bearbeitet von blue joker
Geschrieben

Moin,

 

wenn du wie hier ein Array zurückbekommst, dann würde ich es mir einfach machen und mit einer ForEach-Schleife prüfen, ob mein gesuchtes Objekt darin vorkommt. Da kannst du mit Stolperstellen wie Datenformaten usw. leichter umgehen.

 

Gruß, Nils

Geschrieben

Wenn es nur ein Array wäre, denn ...

PS C:\> $MailExportUser -is [system.array]
False

... da kommt ein False retour! :cry:

 

 

Siehe auch:

PS C:\> $MailExportUser.GetType()

IsPublic IsSerial Name                                     BaseType                                                                                                                     
-------- -------- ----                                     --------                                                                                                                     
True     False    PSCustomObject                           System.Object  

Das schaut nicht nach einem Array aus. :(

Geschrieben

Moin,

 

versuch doch mal bitte, $MailExportUser mit einer ForEach-Schleife zu durchlaufen. Ich gehe davon aus, dass das funktioniert. Deine vorherige Ausgabe deutet darauf hin, dass du eine Sammlung von Objekten zurückbekommst, auch wenn PowerShell die formal nicht als Array deklariert.

 

Mangels Umgebung kann ich das nicht testen.

 

Gruß, Nils

Geschrieben

Leider funktioniert die Schleife nicht!

PS C:\> 
foreach ($ExportUser in $MailExportUser)
    {
       $ExportUser 
    }

AcceptMessagesOnlyFrom                                                                                                                                                                  
----------------------                                                                                                                                                                  
{firma.de/Einkauf/Mustermann Max, firma.de/Einkauf/Musterfrau Mathilde, firma.de/Lager/Doe Jo...

Wenn ich das richtig verstanden habe, sollte $MailExportUser[0] mir den ersten Eintrag liefern, doch ich bekomme das hier zurück:

PS C:\> $MailExportUser[0]

AcceptMessagesOnlyFrom

----------------------
                                 
{firma.de/Einkauf/Mustermann Max, firma.de/Einkauf/Musterfrau Mathilde, firma.de/Lager/Doe Jo...

Der zweite Eintrag ist dann schon leer:

PS C:\> $MailExportUser[1]

PS C:\>
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...