Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
[gelöst] Powershell und Exchange Email Adress-Listen
Grumbler85
myCSharp.de - Member



Dabei seit:
Beiträge: 550
Herkunft: Rheingau Taunus

Themenstarter:

[gelöst] Powershell und Exchange Email Adress-Listen

beantworten | zitieren | melden

Ich habe ein Problem beim übergeben eines Parameters via Powershell.
Es handelt sich um das Exchange2010 PS-Addin und ich versuche eine Emailadresse (Alias) hinzuzufügen:

using (var pipeline = ExchangeManagementShell.CreatePipeline())
            {
                var command = new Command("Set-Mailbox");
                command.Parameters.Add(IdentityParameter, username);
                //property = "EmailAddresses"
                //value = "@{Add='[email protected]'}"
                command.Parameters.Add(property, value);

                pipeline.Commands.Add(command);

                pipeline.Invoke();
                if(pipeline.Error != null && pipeline.Error.Count > 0)
                    throw new ApplicationFailedException(pipeline.Error.Peek().ToString());
            }

Damit generiere ich folgende Fehlermeldung:
Fehler
Cannot convert '@{Add='[email protected]'}' to the type 'Microsoft.Exchange.Data.ProxyAddressCollection' required by parameter 'EmailAddresses'.
The address '@{Add='[email protected]'}' is invalid: "@{Add='[email protected]'}" isn't a valid SMTP address. The domain name can't contain spaces and it has to have a prefix and a suffix, such as example.com.

Der Befehl den ich ausführen möchte, sieht etwa so aus:

Set-Mailbox grumbler85 -EmailAddresses @{Add='[email protected]'}
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Grumbler85 am .
Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 52329
Herkunft: Berlin

beantworten | zitieren | melden

Hallo Grumbler85,

wirklich auskennen tue ich mich bei der Powershell nicht, aber eine holprige Antwort ist vielleicht besser als keine Antwort.

Für mich sieht es so aus, als wäre die erste Fehlermeldung eine Folge der zweiten. Auf jeden Fall würde ich versuchen, zuerst die zweite zu beheben. Bei der geht es um das Format der E-Mail-Adresse. Du solltest also prüfen, ob sich da wirklich keine White-Spaces eingeschichen haben und auch sonst das Format korrekt ist, also z.B. der Domain-Anteil mindestens einen Punkt enthält. Ich würde es an deiner Stelle einfach mal mit einer Anzahl verschiedener korrekter E-Mail-Adressen probieren. Möglicherweise liegt es auch an den (einfachen) Anführungsstrichen.

herbivore
private Nachricht | Beiträge des Benutzers
Grumbler85
myCSharp.de - Member



Dabei seit:
Beiträge: 550
Herkunft: Rheingau Taunus

Themenstarter:

beantworten | zitieren | melden

Danke für deine Antwort, aber das war es nicht - es hat eine Weile gedauert, bis ich begriffen habe, was da eigentlich passiert.

In PowerShell erzeugt

@{"SomeName"="SomeValue"}
eine HashTable (System.Collections.HashTable)

Wenn man genau das nach C# übersetzt, klappt es wie erwartet:


var myValue = new System.Collections.HashTable {{ "Add", smptAddress }};
command.parameters.Add("EmailAddresses", myValue);
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Grumbler85 am .
Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)
private Nachricht | Beiträge des Benutzers