Mailaktivierte Öffentliche Ordner werden nach Migration nicht in Adressliste angezeigt

Vor einiger Zeit hatte ich hier schon ein Problem mit dem Wert “MailNickname” beschrieben, welches dazu führt das die Adresslisten nicht aktualisiert werden können.

Das gleiche Problem kann bei E-Mail aktivierten Öffentlichen Ordner auftreten. Hintergrund ist das zu Exchange 2003 Zeiten der Mailnickname (Alias) noch Sonderzeichen wie Leerzeichen etc enthalten durfte. Bei Exchange 2010 ist das nicht mehr der Fall. Möchte man sich einen E-Mail aktivierten Ordner anzeigen lassen, erhält man auch gleich eine Warnung auf der Shell:

Get-MailPublicFolder Test3

Öffentliche Ordner

WARNUNG: Das Objekt frankysweb.local/Microsoft Exchange System Objects/Test3 wurde beschädigt und befindet sich in
einem inkonsistenten Zustand. Überprüfungsfehler:
WARNUNG: Eigenschaftenausdruck „Test3  “ ist ungültig. Gültige Werte: Zeichenfolgen, die aus den Buchstaben A bis Z
(Groß- und Kleinbuchstaben), Zahlen von 0 bis 9, !, #, $, %, , ‚, *, +, -, /, =, ?, ^, _, `, {, |, } oder ~ bestehen.
In einem Alias kann mindestens ein Punkt eingebettet werden, wobei jedoch jedem Punkt mindestens eines der anderen
Zeichen vorausgehen und nachfolgen muss. Unicode-Zeichen von U+00A1 bis U+00FF sind ebenfalls in einem Alias gültig,
sie werden jedoch in der aus einem derartigen Alias erstellten E-Mail-Adresse mit möglichst guter Übereinstimmung einer
US-ASCII-Zeichenfolge zugeordnet.

Ich hatte nun den Fall das es eine große Anzahl an E-Mail aktivierten Öffentlichen Ordner gab, die alle irgendwelche Sonderzeichen im Alias/Mailnickname hatten. Teilweise Leerzeichen oder Klammern am Ende oder mittendrin.

Um nicht alle Ordner manuell zu ändern, habe ich ein kleines Script gebaut, welches alle Sonderzeichen aus dem Alias löscht

#——————————
#      www.FrankysWeb.de
#——————————

$mailfolders = Get-MailPublicFolder -WarningAction SilentlyContinue | Where-Object {$_.Alias -match „\W“}

if ($mailfolders -eq $Null)
{
write-host „“
write-host „Keine Sonderzeichen gefunden!“
write-host „“
}
else
{
foreach ($mailfolder in $mailfolders)
{
$rightalias = $mailfolder.Alias -replace“\W“,““
write-host „Ordner $mailfolder wird geändert. Neuer Alias: $rightalias“
set-mailpublicfolder  „$mailfolder“ -alias „$rightalias“
}
}

Einfach das Script in eine PS1 Datei kopieren und ausführen. Leider wirft das Script beim Erfassen der Öffentlichen Ordner für jeden Ordner mit Sonderzeichen die Warnung wie oben:

image

Die Warnungen beeinflussen allerdings nicht die Funktion Smiley

1 Gedanke zu „Mailaktivierte Öffentliche Ordner werden nach Migration nicht in Adressliste angezeigt“

  1. Funktioniert mit einer Einschränkung gut, wenn mehrere Aliase gleich lauten würden durch die Änderung kommt es zu Fehlern. (The Operation could not performed because ‚xyz‘ matches multiple entries.) Da wäre noch eine Abfangklausel nötig.

    Antworten

Schreibe einen Kommentar