none
Prüfen ob String umwandelbar ist als "Microsoft.Exchange.Data.Directory.CountryInfo" RRS feed

  • Frage

  • Hallo,

    ich habe ein Script, in dem ich Kontakte erstelle und Attribute zuweise, basierend auf Daten aus einer CSV.

    Wenn ich jetzt versuche das Land in CountryOrRegion zu schreiben und die Daten nicht richtig gepfelgt sind in der CSV scheitert die Scriptausführung.

    Ich führe folgendes aus: set-contact $i.alias -CountryOrRegion $i.Land

    Steht in Land z.B. "Rumänien" klappt es wunderbar. Steht da "Rumaenien" drin, bekomm ich folgenden Fehler:

    Cannot bind parameter 'CountryOrRegion'. Cannot convert value "Rumaenien" to type "Microsoft.Exchange.Data.Directory.CountryInfo".

    Ist auch logisch, weil Rumaenien nicht in der Auswahlliste vorhanden ist.

    Nun möchte ich aber den Fehler abfangen, damit das Skript wenigstens weiter läuft und nicht abbricht. Aber wie?

    Falls ich dann rausbekomme das es nicht umwandelbar ist, würd ich einfach "Deutschland" als Country setzen und einen Fehler ausgeben.

     

    Gruß

    Mittwoch, 11. November 2009 13:15

Antworten

  • Hallo,

    ich würde das auf die brutale Art lösen:

    $error.clear()
    [Microsoft.Exchange.Data.Directory.CountryInfo] $i.Land
    if (!$error)
    {
    set-contact ........................................
    }
    Else
    {
    set-contact -CountryOrRegion "DE"
    }

    Eine andere Möglichkeit wäre, einfach alle Kennungen gegen den Wert in $i.Land zu prüfen.

    Grüße

    Frank
    • Als Antwort markiert Schuhmann Donnerstag, 12. November 2009 07:13
    Mittwoch, 11. November 2009 15:35

Alle Antworten

  • Hallo,

    ich würde das auf die brutale Art lösen:

    $error.clear()
    [Microsoft.Exchange.Data.Directory.CountryInfo] $i.Land
    if (!$error)
    {
    set-contact ........................................
    }
    Else
    {
    set-contact -CountryOrRegion "DE"
    }

    Eine andere Möglichkeit wäre, einfach alle Kennungen gegen den Wert in $i.Land zu prüfen.

    Grüße

    Frank
    • Als Antwort markiert Schuhmann Donnerstag, 12. November 2009 07:13
    Mittwoch, 11. November 2009 15:35
  • Hallo,
    damit klappt es wunderbar. Ich habe jetzt auch meinen Hauptfehler gefunden.
    Ich habe deine Lösung im PowerGui SkriptEditor laufen lassen und die Ausführung ist wieder gescheitert.
    Wenn ich es direkt in der Powershell laufen lasse, läuft es wunderbar durch. Die PowerGUI war also mein Hauptptoblem.

    Vielen Dank!
    Donnerstag, 12. November 2009 07:11
  • Hallo,

    danke für das Feedback.

    Grüße

    Frank
    Donnerstag, 12. November 2009 09:00