Hat ein Benutzer seine Ordner im Exchange mit dem Sonderzeichen "\" im Namen, so können diese Ordner nicht mit IMAP synchronisiert werden.
Die einzige Lösung ist, die Ordner umzubenennen. Bei vielen Ordner oder vielen Benutzern kann dies mit einem Script gemacht werden
Voraussetzung: C:\MailboxList.txt
Inhalt:
Lister der Mailboxen die durchsucht werden sollen. Eine neue Zeile pro Mailbox
Format:
xyz@domain.com
RenameFolderScript.ps1
mit folgenden Inhalt:
$dllpath =`
“C:\Program Files (x86)\Microsoft\Exchange\Web Services\2.1\Microsoft.Exchange.WebServices.dll”
[void][Reflection.Assembly]::LoadFile($dllpath)
$service = New-Object Microsoft.Exchange.WebServices.Data.ExchangeService(`
[Microsoft.Exchange.WebServices.Data.ExchangeVersion]::Exchange2010)
$windowsIdentity = [System.Security.Principal.WindowsIdentity]::GetCurrent()
$sidbind = “LDAP://<SID=” + $windowsIdentity.user.Value.ToString() + “>”
$aceuser = [ADSI]$sidbind
Write-Output $aceuser
Write-Output $aceuser.mail.ToString()
$service.AutodiscoverUrl($aceuser.mail.ToString(), {$true})
$Domain = $aceuser.mail.ToString().Split(‘@’)[1]
Write-Output "OK BIS HIER, FALLS NICHT ZERTIFIKAT INSTALLIEREN"
foreach ($MailboxName in Get-Content “c:\MailboxList.txt”)
{
$rfRootFolderID = new-object Microsoft.Exchange.WebServices.Data.FolderId(`
[Microsoft.Exchange.WebServices.Data.WellKnownFolderName]::MsgFolderRoot,$MailboxName)
$rfRootFolder = [Microsoft.Exchange.WebServices.Data.Folder]::Bind($service,$rfRootFolderID)
$fvFolderView = New-Object Microsoft.Exchange.WebServices.Data.FolderView(10000);
$fvFolderView.Traversal = [Microsoft.Exchange.WebServices.Data.FolderTraversal]::Deep
$fvFolderView.PropertySet = $Propset
$ffResponse = $rfRootFolder.FindFolders($fvFolderView);
foreach ($folder in $ffResponse.Folders)
{
if ($folder.Displayname -like “*/*”)
{
Write-Output “Found / in the $mailboxName and folder name is:”
Write-Output $folder.Displayname
$folder.Displayname = $folder.Displayname.Replace("/","-")
$folder.Update()
}
}
}
Hallo,
AntwortenLöschenBin neu hier und frage mich gerade, was in diesem "C:/Mailboxlist.txt" file drinstehen soll - gibt es da ein bestimmtes Format oder ist es einfach nur ein Export aus zB Outlook?
Dankeschön,
Bernhard
Hallo Bernhard Trimmel
LöschenSorry für die späte Antwort!
Im Textfile sollte eine Liste der Postfächer sein, die das Script durchsuchen soll. Format:
xyz@domain.com
Eine pro Zeile
Hoffe konnte es klären, passe den Artikel gleich noch an!