PowerShell – Nützliche Exchange Server 2010 Befehle

Da sich die PowerShell Befehle für den Exchange Server großer Beliebtheit erfreuen, habe ich mal ein paar neue Befehle hinzugefügt.

Exchange Server – ActiveSync

Liste aller ActiveSync Geräte

Get-ActiveSyncDevice | ft

ActiveSync-Statistik eines Postfaches

Get-ActiveSyncDeviceStatistics -mailbox "manuel.maliszewski"

Alle ActiveSync Geräte der OU „Ausgeschiedene User“ löschen

Get-ActiveSyncDevice -OrganizationalUnit "Ausgeschiedene User" | Remove-ActiveSyncDevice

Exchange Server – Datenbanken

Übersicht über Datenbanken und deren Größe

Get-MailboxDatabase -Status | ft name, databasesize

Übersicht über Datenbanken mit Informationen zu Retentation und Recoverable Quotas

Get-MailboxDatabase | Select Name, Server, MailboxRetention, Recoverab* |ft

Exchange Server – Postfächer

Übersicht der Postfächer einer Datenbank – Sortiert nach letztem Login mit den Feldern: Benutzername, Größe, Datum der letzten Anmeldung, Letzte Anmeldung

Get-Mailbox -Database "Berlin II - Datenbank II" | Get-MailboxStatistics | Sort LastLogonTime | ft DisplayName, TotalItemSize, LastLogonTime, LastLoggedOnUserAccount

Detailiert Übersicht eines Postfaches mit Unterordnern und dessen Größe

Get-MailboxFolderStatistics -identity "manuel.maliszewski" | ft FolderPath, FolderSize, ItemsInFolder, FolderAndSubfolderSize

Alle Postfächer mit Weiterleitung

Get-Mailbox | Where-Object { $_.ForwardingAddress –ne $null } | Select Name, ForwardingAddress

Alle Postfächer mit „Sende als“ und „volle Postfachberechtigung“

Get-Mailbox | Get-ADPermission | Where-Object { ($_.ExtendedRights -like "*send-as*") -and -not ($_.User -like "nt authority\self") }

Postfächer auf die der Benutzer „chilli“ volle Berechtigungen hat

Get-Mailbox | Get-MailboxPermission | Where-Object { ($_.AccessRights -eq "*fullaccess*") -and ($_.User -like "*chilli*") }

Exchange Server – Warteschlange

Warteschlange anzeigen auf Server S8K011

Get-Queue -Server S8K011

Warteschlangen Queue verschieben

./Move-TransportDatabase.ps1 –QueueDatabasepath “C:\Queue” –QueueDatabaseLoggingPath “D:\Queue”

Exchange Server – System

Alle Exchange-Dienste starten

Test-ServiceHealth | Select ServicesNotRunning | foreach { Start-Service $_.ServicesNotRunning }

Exchange-Dienste Status in Tabelle

Test-ServiceHealth | ft

Testet die Exchange Organisation auf Fehler

Test-SystemHealth

Exchange Server – Verschiedenes

Sprache aller Postfächer auf dem Server S8K011 auf Deutsch setzen

Get-Mailbox -Server S8K011 | Set-Mailbox -language de-DE

Sprache der Postfächer auf Server S8K012 anzeigen, nach Sprache sortieren und als Tabelle mit Namen und Sprache anzeigen

Get-Mailbox -Server S8K012 | sort Languages | ft name, Languages

Liste der Benutzer die den Abwensenheitsassistenten aktiviert haben

Get-Mailbox | Get-MailboxAutoReplyConfiguration | Where-Object { $_.AutoReplyState –eq “scheduled” }

Datenbank – RPC CAS abfragen

Get-MailboxDatabase -Server s8k011 | fl name, rpc\*

Datenbank-Index

Standardmäßig werden alle Datenbanken mit aktiviertem Index angelegt. in diesem Ordner wird der Index erstellt: %datenbankpfad%\CatalogData-Guid. Diesen kann man allerdings aktivieren:

Set-MailboxDatabase MailboxDatabaseName -IndexEnabled:$false

Erste Datenbank löschen

Beim Installieren von Exchange Server 2010 wird automatisch eine Datenbank angelegt. Diese Läst sich nicht über die Gui löschen, auch wenn alle Postfächer verschoben sind. Darum muss man die

System-Postfächer verschieben:

Get-mailbox -Arbitration | New-MoveRequest -TargetDatabase "Berlin I - Postfach I"

Danach muss man noch die Verschiebungsanforderungen löschen und die Datenbank ist entfernbar.

Scripts

Alle Mitglieder einer Gruppe anzeigen und das bis zu 5 Ebenen.

Import-Module ActiveDirectory
$DG = Read-Host

function Get-MySubGroupMembersRecursive
{
	$Mitglieder = Get-ADGroupMember $DG
	ForEach ($Mitglieder in $Mitglieder)
	{
		If ($Mitglieder.ObjectClass -eq "Group")
		{
			Get-MySubGroupMembersRecursive1
		}
		If ($Mitglieder.ObjectClass -eq "User")
		{
			Write-Host ($Mitglieder.Name)
		}
	}
}

function Get-MySubGroupMembersRecursive1
{
	$Mitglieder2 = Get-ADGroupMember $Mitglieder.Name
	ForEach ($Mitglieder2 in $Mitglieder2)
	{
		If ($Mitglieder2.ObjectClass -eq "Group")
		{
			Get-MySubGroupMembersRecursive2
		}
		If ($Mitglieder2.ObjectClass -eq "User")
		{
			Write-Host ($Mitglieder2.Name)
		}
	}
}

function Get-MySubGroupMembersRecursive2
{
	$Mitglieder3 = Get-ADGroupMember $Mitglieder2.Name
	ForEach ($Mitglieder3 in $Mitglieder3)
	{
		If ($Mitglieder3.ObjectClass -eq "Group")
		{
			Get-MySubGroupMembersRecursive3
		}
		If ($Mitglieder3.ObjectClass -eq "User")
		{
			Write-Host ($Mitglieder3.Name)
		}
	}
}

function Get-MySubGroupMembersRecursive3
{
	$Mitglieder4 = Get-ADGroupMember $Mitglieder3.Name
	ForEach ($Mitglieder4 in $Mitglieder4)
	{
		If ($Mitglieder4.ObjectClass -eq "Group")
		{
			Get-MySubGroupMembersRecursive4
		}
		If ($Mitglieder4.ObjectClass -eq "User")
		{
			Write-Host ($Mitglieder4.Name)
		}
	}
}

function Get-MySubGroupMembersRecursive4
{
	$Mitglieder5 = Get-ADGroupMember $Mitglieder4.Name
	ForEach ($Mitglieder5 in $Mitglieder5)
	{
		If ($Mitglieder5.ObjectClass -eq "Group")
		{
			Get-MySubGroupMembersRecursive5
		}
		If ($Mitglieder5.ObjectClass -eq "User")
		{
			Write-Host ($Mitglieder5.Name)
		}
	}
}

function Get-MySubGroupMembersRecursive5
{
	$Mitglieder6 = Get-ADGroupMember $Mitglieder6.Name
	ForEach ($Mitglieder6 in $Mitglieder6)
	{
		If ($Mitglieder6.ObjectClass -eq "User")
		{
			Write-Host ($Mitglieder6.Name)
		}
	}
}

Get-MySubGroupMembersRecursive

Exchange Server 2010 – Linux (Evolution, Thunderbird uvm. anbinden)

Unter Linux ist es leider nicht zufriedenstellend möglich, den Exchange Server 2010 an den jeweiligen Client anzubinden. Evolution bietet zwar die Möglichkeit dies per MAPI-Erweiterung zu tun, dies führt aber regelmäßig zu Programmabstürzen.

DavMail – POP/IMAP/SMTP/Caldav/Carddav/LDAP Connector

DavMail ist ein Connector der sich zum Ziel gesetzt hat, Client mit Standard Protokollen wie IMAP/SMTP… an den Exchange Server anzuschließen. Dies ist seit neustem auch über die WebServie-Schnittstelle des Exchange Server 2010 möglich. Die Installation/Konfiguration ist relativ einfach und die Einrichtung im jeweiligen Client selbsterklärend.

Das richtige Protokoll für den richtigen Dienst

DavMail bietet für jeden Dienst das richtige Protokoll und setzt dabei auf altbewährte Standards.

Protokoll Dienst
IMAP Zugriff Objekte und Ordner auf dem Server und Übertragung zum Client
SMTP E-Mail Versand
Caldav Kalenderzugriff
Carddav Persönliches Adressbuch
LDAP Globales Adressbuch

Modus

DavMail kann lokal auf der Workstation ausgeführt werden, auf der auch der E-Mail-Client ausgeführt werden soll oder im Servermodus, auf einem anderem Rechner.

Sicherheit

Die Kommunikation zwischen DavMail <-> Client und DavMail <-> Exchange Server kann per Zertifikat verschlüsselt werden. So werden die Logindaten nicht im Klartext übertragen

DavMail <-> Thunderbird

Ich habe seit einigen Tagen ein Konstrukt aus Thunderbird + Lightning laufen und habe dieses über DavMail an den Exchange Server 2010 angeschlossen. Thunderbird funktioniert überraschend gut und auch sehr stabil. Bisher konnte ich keinen Absturz beobachten. Selbst Termineinladungen werden ordentlich verarbeitet und Kalender und Kontakte synchronisiert. Insgesamt bin ich also sehr zufrieden!

Exchange Server 2010 – Outlook 2003

Outlook 2003 sollte offiziell eigentlich problemlos mit dem Exchange Server 2010 arbeiten. Dem ist leider nicht ganz so. Dagegen kann man allerdings einige Konfigurationsänderungen vornehmen. Somit wird die Kompatibilität deutlich verbessert und Outlook 2003 arbeitet nahezu perfekt mit dem Exchange Server 2010 zusammen.

RPC-Verschlüsselung (RPC-Encryption)

Nach der Installation des Exchange Server 2010, ist die verschlüsselte Übertragung zwischen Client und Server standardmäßig aktiviert. Outlook 2003 hat diese aber deaktiviert, so dass die Konfiguration auf einer der beiden Seiten angepasst werden muss. Ab Service Pack 1 ist die Verschlüsselung auf Serverseite standardmäßig nicht mehr aktiv.

Server – RPC-Verschlüsselung auf allen Client Access Servern deaktivieren

Get-RpcClientAccess | Set-RpcClientAccess -EncryptionRequired: $false

Client – RPC Encryption aktivieren

Alternativ kann man z.B. per Gruppenrichtlinie die RPC Encryption auf Outlook 2003 aktivieren. Microsoft bietet hier für Office 2003 ein ADM Template an. Dieses ist Teil des Office 2003 Resource Kits. Hier ist der entscheidene Auszug, der direkt als Gruppenrichtlinie verwendet werden kann:

CLASS USER

CATEGORY "Outlook 2003 - Exchange Einstellungen"

POLICY "RPC-Verschlüsselung aktivieren"
KEYNAME "Software\Policies\Microsoft\Office\11.0\Outlook\RPC"
 PART "RPC-Verschluesselung aktivieren" CHECKBOX
   VALUENAME EnableRPCEncryption
   VALUEON NUMERIC 1 DEFCHECKED
   VALUEOFF NUMERIC 0
 END PART
 END POLICY

 POLICY "RPC-Verschlüsselung Modus"
KEYNAME "Software\Policies\Microsoft\Office\11.0\Outlook\Security"
    PART "Definiere den RPC-Verschluesselung Modus" DROPDOWNLIST
            VALUENAME AuthenticationService
    ITEMLIST
            NAME "Kerberos/NTLM Password Verschluesselung"  VALUE NUMERIC 9 DEFAULT
            NAME "Kerberos Password Verschluesselung"       VALUE NUMERIC 16
            NAME "NTLM Password Verschluesselung"           VALUE NUMERIC 10
    END ITEMLIST
            NOSORT
    END PART
    END POLICY

END CATEGORY

UDP Benachrichtigungen

Durch das Rollup Pack 3 Version 3 für SP1 wurde die Unterstützung der UDP Benachrichtigungen wieder hinzugefügt. Bei der Installation des Rollup Pack für SP1 sollte unbedingt darauf geachtet werden, dass es sich auch wirklich um die dritte Version des Paketes handelt. Das Update wurde vorher wegen kritischen Problemen zwei mal zurückgezogen. Nach der Installation muss die Option noch explizit durch einen Registryeintrag aktiviert werden.

Outlook 2003 fühlt sich so deutlich „runder“ an. Die Verzögerungen sollten der Vergangenheit angehören und wenn viele Aktionen durch den Nutzer getätigt werden, fasst das Feature diese zusammen und senkt damit die Objekte pro Verbindung. Somit ist es nicht mehr zwangsweise nötig, den Cache Modus zu verwenden.

UDP Benachrichtigung aktivieren

[code language=“powershell“]HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeRPC\ParametersSystem\EnablePushNotifications = DWORD 1[/code]

Throttling-Policy

Exchange Server 2010 bietet einen Schutz vor Überlastung durch Clients wie Outlook 2003. Dieser Schutz wird durch die Throttling-Policy angewendet. Diese Policy gibt bestimmte Richtwerte vor und wenn die überschritten werden, kommt es entweder zu Latenzen oder sogar zu einem Verbindungsabbruch.

Throttling-Policy anpassen

[code language=“powershell“]Get-throttlingpolicy | set-throttlingpolicy -rcamaxconcurrency32[/code]

RPC – Maximum Polling Frequency (Durch UDP-Benachrichtigungen eigentlich nicht mehr nötig)

Wenn das Verschicken von E-Mails sehr lange dauert und auch neue E-Mails mit deutlicher Verzögerung eintreten, kann dem entgegen gewirkt werden. Außerdem kann es sogar sein, dass gelöschte Elemente mit großer Latenz im Ordner verbleiben.

RPC – Maximum Polling Frequenzy erhöhen

[code language=“powershell“]HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSExchangeRPC\ParametersSystem\Maximum Polling Frequency = 10000[/code]

Session-Limit – Maximal 32 Objekte pro Session

Die maximalen Objekte pro Verbindung sollten erhöht werden. Sonst kann es passieren, dass z.B. fremde Kalender nicht geöffnet werden können.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\ParametersSystem\Maximum Allowed Sessions Per User: DWORD = 100

Fremde Kalender öffnen

Es kann zu einer Fehlermeldung kommen, wenn Outlook 2003 auf den Kalender eines Postfaches zugreift, dass auf Exchange Server 2010 liegt. Durch das Säubern der hinzugefügten Kalender und erneutes Einbinden, wird das Problem gelöst. Dieser Befehl macht genau das:

outlook.exe /resetnavpane

Delegaten Postfächer – Fehlermeldung beim Öffnen

Unter Umständen tritt ein Fehler auf, wenn ein Exchange Server 2003-Benutzer versucht, mehr als einen Delegaten Postfach von Exchange Server 2010 in Outlook 2003 zu öffnen. Hierfür hat Microsoft einen Patch veröffentlicht, der auf allen Exchange Server 2003 installiert werden muss.

KB979690

Frei/Gebucht Daten (Free & Busy)

Während der Migration auf Exchange Server 2010 enstehen kurzfristig zwei Administrative Gruppen. Hierdurch kann es zu Problemen bei der Terminplanung kommen, so dass die Free & Busy Daten nur für die jeweilige administrative Gruppe sichtbar sind. Diese Probleme lassen sich beheben, in dem man in den Systemordnern des öffentlichen Ordners den jeweils anderen öffentlichen Ordner Server, zu den Replikaten hinzufügt.

Exchange Server 2010 – Dateiinhalte volltext indexieren

Exchange Server 2010 kann den Datenbank bzw. Postfach und öffentliche Ordner Inhalt Volltext indexieren. Dies betrifft vor allem Anhänge und abgelegte Dokumente. Um die Unterstützung der indexierbaren Dateitypen zu erweitern, kann man sogenannte IFilter installieren.

Microsoft Office 2010 Filter Pack

Das Office 2010 Filter Pack kann folgende Dateitypen indexieren:

  • Filter für ältere Office-Versionen (97-2003; .doc, .ppt, .xls)
  • Filter für Metro-Office (2007; .docx, .pptx, .xlsx)
  • Zip-Filter
  • OneNote-Filter
  • Visio-Filter
  • Publisher-Filter
  • Filter für Open Document-Format

Installation des Office 2010 Filter Packs

Die Installation erfolgt durch Ausführen des Installers. Weitere Konfiguration muss nicht vorgenommen werden.

Adobe PDF iFilter 9 for 64-bit

Das iFilter Pack von Adobe umfasst folgende Dateitypen:

  • Filter für PDF-Dokumente

Installation des Adobe PDF iFilters

Im Gegensatz zu den Microsoft Office 2010 Filter Pack muss der PDF iFilter allerdings manuell für Exchange registriert werden. Dies erfolgt in mehreren Schritten, und muss auf jedem Hub Transport- und Mailbox-Server durchgeführt werden.

  • Installation auf den jeweiligen Exchange Servern
  • Installationspfad (C:\Program Files\Adobe\Adobe PDF iFilter 9 for 64-bit platforms\bin) als Pfad Variable im System definieren

Registry-Einstellungen vornemen:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ExchangeServer\v14\MSSearch\CLSID\{E8978DA6-047F-4E3D-9C78-CDBE46041603}]
@="PDFFilter.dll"
"ThreadingModel"="Both"
"Flags"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ExchangeServer\v14\MSSearch\Filters\.pdf]
@="{E8978DA6-047F-4E3D-9C78-CDBE46041603}"

Damit die Änderungen aktiv werden, empfiehlt es sich den jeweiligen Server neuzustarten. Sollte die Installation der iFilter nach dem Verschieben der ersten Postfächer oder Öffentliche Ordner durchgeführt worden sein, muss der Search Index neu erstellt werden, um bereits indexierte Daten erneut zu erfassen. Dazu liefert Microsoft mit der Installation des Exchange Server 2010 ein Script, dass sich im Installationsordner\Scripts befindet.

ResetSearchIndex.ps1 -force -all

Exchange Server 2010 – Outlook WebApp – Abgelaufende Passwörter ändern

Exchange Server 2010 mit SP1 bringt ein neues Feature mit: Abgelaufene Passwörter können über das Outlook WebApp geändert werden! Das gilt auch für die Benutzer, die ihr Passwort bei der nächsten Anmeldung ändern müssen.

Funktion aktivieren

Wenn man ein CAS Array benutzt, müssen die Schritte auf jeden CAS Server ausgeführt werden!

1. Regedit starten und zu folgendem Key navigieren:

HKLM\SYSTEM\CurrentControlSet\Services\MSExchange OWA\

Neues DWord (32-bit) erstellen mit dem Namen „ChangeExpiredPasswordEnabled“ und dem Wert „1“.

2. Damit die Änderung aktiv wird, muss der IIS restartet werden:

IISReset /noforce

Exchange Server 2010 – Outlook WebApp – Web Beacons blockieren

Was sind Web Beacons?

Web Beacons sind Grafiken die meist transparent und nur 1×1 Pixel groß sind. Diese kann man z.B. an eine E-Mail hängen. Versender von Spam können (sofern der Mail-Client des Empfängers eine entsprechende Sicherheitslücke aufweist) durch Einbau eines Zählpixels in die E-Mail ermitteln:

  • ob eine E-Mail-Adresse gültig ist,
  • ob und wann die E-Mail geöffnet wurde,
  • welchen Browser und welches Betriebssystem der Empfänger verwendet
  • welche IP-Adresse der Empfänger hat; damit seinen Internetdienstanbieter und mithilfe von Geotargeting möglicherweise sogar seinen Wohnort.

Web Beacons deaktivieren

Es gibt eine Schutzfunktion die diese Art von Grafiken blockiert. Diese ist per default aber nicht aktiviert und das kann man wie folgt ändern:

Get-OWAVirtualDirectory | Set-OWAVirtualDirectory –FilterWebBeaconsAndHtmlForms ForceFilter

Exchange Server 2010 – Blackberry Enterprise Server – Konfiguration

Exchange Server 2010

Rechte für BESAdmin einrichten

Damit der Blackberry Enterprise Server Daten von den jeweiligen Benutzern abrufen kann und das „Senden Als“ Recht erhält, müssen mehrere Einstellungen getätigt werden.

Mit diesem Befehl bekommt der BESAdmin Leseberechtigungen:

[code language=“powershell“]Add-RoleGroupMember "View-Only Organization Management" -Member "BESAdmin"

Mit diesem Befehl wird die Verwendung von EWS berechtigt:

[code language=“powershell“]New-ManagementRoleAssignment -Name "BES Admin EWS" -Role:ApplicationImpersonation -User besadmin

Folgender Befehl muss für jede Datenbank angewendet werden. Alternativ kann auch der Parameter -identity entfernt werden, dann werden alle Datenbanken angepasst. Bereits angepasste Datenbanken generieren eine Warnung, dass keien Einstellungen verändert wurden.

[code language=“powershell“]Get-MailboxDatabase -identity "Datenbank 1" | Add-ADPermission -User "BESAdmin" -AccessRights ExtendedRight -ExtendedRights Receive-As, ms-Exch-Store-Admin

Eigene Throttling-Policy für BESAdmin erstellen

Da der Blackberry Enterprise Server als Client über ein MAPI-Profil mit dem Exchange Server kommuniziert, ist das Datenaufkommen für einen einzelnen Client natürlich außergewöhnlich hoch. Der Exchange Server 2010 bringt eine Policy mit, die genau sowas kontrollieren bzw. beschränken soll. Damit nicht alle Clients die erhöhten Werte benutzen können, empfiehlt es sich eine eigene Policy für den BESAdmin anzulegen. Diese Policy muss angepasst werden, sonst wird der Blackberry Enterprise Server irgendwann blockiert.

[code language=“powershell“]New-ThrottlingPolicy BESPolicy

Die neue Policy muss für den Blackberry Enterprise Server optimiert konfiguriert werden.

[code language=“powershell“]Set-ThrottlingPolicy BESPolicy -RCAMaxConcurrency $null -RCAPercentTimeInAD $null -RCAPercentTimeInCAS $null -RCAPercentTimeInMailboxRPC $null -EWSMaxConcurrency $null -EWSPercentTimeInAD $null -EWSPercentTimeInCAS $null -EWSPercentTimeInMailboxRPC $null -EWSMaxSubscriptions $null -EWSFastSearchTimeoutInSeconds $null -EWSFindCountLimit $null

Nun muss die neue Policy nur noch dem BESAdmin zugeordnet werden.

[code language=“powershell“]Set-Mailbox “BESAdmin” -ThrottlingPolicy BESPolicy

Adressbuch – Maximale Anzahl der Verbindungen erhöhen (Exchange Server 2010 ohne SP1)

Der Blackberry Enterprise Server fragt regelmäßig das Adressbuch ab. Der Exchange Server lässt standardmäßig nur 50 Verbindungen zu. Für den BES sollte man die Anzahl auf 100.000 erhöhen.

  • C:\Program Files\Microsoft\Exchange Server\V14\Bin\microsoft.exchange.addressbook.service.exe.config im Editor öffnen
  • Den Wert „MaxSessionsPerUser“ suchen und auf 100000 erhöhen
  • Adressbuch-Dienst neustarten

Der Exchange Server 2010 mit SP1 regelt diese Einstellungen über die Throttlin-Policy, die bereits dahingehend angepasst wurde.

Blackberry Enterprise Server

MAPI-Profil

Das MAPI-Profil für den BESAdmin muss ggf. auf Verschlüsselung konfiguriert werden, falls diese beim Exchange Server aktiviert ist.

Verbindung zu einem Postfach über das BESAdmin MAPI-Profil testen

Durch die Installation des BES wird im Installationsverzeichnis ein Ordner mit nützlichen Scripts angelegt. Darin befindet sich auch folgendes Kommandozeilen-Tool:

[code]C:\Program Files (x86)\Research In Motion\BlackBerry Enterprise Server\Utility>iemtest.exe

Dieses Tool gibt Aufschluss auf die korrekte Funktion. Ist z.B. ein Zugriff auf das jeweilige Postfach wegen fehlenden Rechten nicht möglich, gibt das Tool Aufschluss darauf.

Termineinladungen von extern über Exchange Web Service blockieren

Um externe Termineinladungen über Exchange Web Service auf allen Blackberrys zu deaktivieren, muss man folgendes tun:

[code language=“powershell“]Get-Mailbox –Server "servername" -ResultSize Unlimited | Set-CalendarProcessing -ProcessExternalMeetingMessages $true –AutomateProcessing AutoUpdate

BES ohne öffentlichen Ordner auf dem Exchange Server 2010 betreiben

Der Blackberry Enterprise Server setzt einen öffentlichen Ordner auf dem Exchange Server 2010 vorraus. Diese Vorraussetzung kann aber umgegangen werden, in dem man einen Registry Eintrag ändern.

Auf 32 bit Systemen:

[code language=“powershell“]HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Messaging Subsystem\CDO\Ignore No PF = DWORD 1

Auf 64 bit Systemen:

[code language=“powershell“]HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows Messaging Subsystem\Ignore No PF = DWORD 1

Optional: WebService (EWS) im BES aktivieren

Der Blackberry Enterprise Server unterstütz die Exchange Web Services. Dieser kann zum Abrufen der Kalenderdaten auf den Blackberrys aktiviert werden.

Einstellungen am Ordner EWS der Standardwebseite anpassen

  • Internetinformationsdienstemanager (IIS) Manager starten
  • Die „Default Web Site“ öffnen und den Ordner „EWS“ mit der rechten Maustaste anklicken und „Berechtigungen bearbeiten“ auswählen
  • Reiter „Sicherheit öffnen“ und den BESAdmin hinzufügen und die Rechte „Lesen, Lesen und Ausführen und Ordnerinhalt auflisten auswählen“
  • In den Authentifizierungseinstellungen die Windowsauthentifizierung aktivieren

Zertifikat des CAS-Server auf dem Blackberry Enterprise Server installieren

  • Auf dem BES folgende Webseite im Internet Explorer aufrufen: https:///ews/Exchange.asmx
  • Bei dem Login-Fenster die Daten vom BESAdmin eingeben
  • Das Zertifikat auswählen und zu den vertrauenswürdigen Zwischenzertifizierungsstellen hinzufügen

EWS auf allenBlackberry Enterprise Servern und darauf laufenden Agenten aktivieren

  • Start -> Ausführen -> CMD
  • cd c:\Pfad zum Installationspfad des BES\tools

[code language=“powershell“]TraitTool -global -trait EWSEnable -set true" aufrufen

Exchange Server 2010 – Online Datenbank-Reparatur

Seit Exchange Server 2010 mit SP1 kann man eine Datenbank, öffentlichen Ordner oder einzelne Postfächer im online auf ihre Integrität testen. Ein Dismount der Datenbank ist für die online Überprüfung nicht nötig.

Unbedingt zu beachten

  • Der Zugriff auf das jeweilige Postfach ist während des Mailbox-Repair-Jobs nicht möglich. Andere Benutzer sind davon nicht betroffen.
  • Max. ein aktiver Datenbank-Repair-Job pro Server
  • Max. 10 aktive Mailbox-Repair-Jobs pro Datenbank
  • Ein Repair-Job kann nur durch einen dismount der Datenbank abgebrochen werden

Postfach überprüfen

Die Paramter SearchFolder, AggregateCounts, ProvisionedFolder, FolderView definieren die möglichen Fehlerquellen. In einem öffentlichen Ordner ohne Such-Ordner, kann man den Parameter „SearchFolder“ weglassen, dementsprechen schneller geht die online Überprüfung.

New-MailboxRepairRequest -Mailbox "vorname.nachname@domain.de"  -CorruptionType SearchFolder, AggregateCounts, ProvisionedFolder,  FolderView

Datenbank überprüfen

Mit folgendem Befehl kann man eine Datenbank überprüfen:

New-MailboxRepairRequest -Database "Berlin I - Datenbank I" -CorruptionType SearchFolder, AggregateCounts, ProvisionedFolder, FolderView 

Öffentliche Ordner überprüfen

Der Parameter -DetectOnly bewirkt das keine Fehler behoben werden. Diese werden nur aufgezeigt.

New-PublicFolderDatabaseRepairRequest -Database "Berlin I - IS I" -CorruptionType ReplState -DetectOnly

Exchange Server 2010 – Import & Export

In Exchange Server 2010 ist es möglich Postfächer zu Importieren/Exportieren. Damit das überhaupt möglich ist, müssen Berechtigungen angepasst werden. Dies kann über Benutzer oder Gruppen geschehen.

Berechtigungen

Recht für Benutzer hinzufügen

Dem Benutzer „vorname.nachname“ dieses Recht erteilen:

New-ManagementRoleAssignment –Role “Mailbox Import Export” –User “vorname.nachname”

Recht für Gruppe hinzufügen

Der Gruppe „Sicherheitsgruppe“ dieses Recht erteilen:

New-ManagementRoleAssignment –Role “Mailbox Import Export” –Group “Sicherheitsgruppe”

Es können nur UNC Ziele angegeben werden. Diese müssen für die Gruppe „Exchange Trusted Subsystem“ freigegeben sein.

Export

Das Postfach des Benutzers „vorname.nachname@domain.de“ nach „\\Computer\Export\vorname.nachname.pst“ exportieren:

New-MailboxExportRequest -Mailbox "vorname.nachname@domain.de" -FilePath "\\Computer\Export\vorname.nachname.pst"

Das Online-Archiv des Benutzers „vorname.nachname@domain.de“ nach „\\Computer\Export\vorname.nachname.pst“ exportieren:

New-MailboxExportRequest -Mailbox "vorname.nachname@domain.de" –IsArchive -FilePath "\\Computer\Export\vorname.nachname.pst"

Import

Die Datei „\\Computer\Import\vorname.nachname.pst“ in das Postfach des Benutzers „vorname.nachname@domain.de“ importieren:

New-MailboxImportRequest -Mailbox "vorname.nachname@domain.de" -FilePath "\\Computer\Import\vorname.nachname.pst"

Die Datei „\\Computer\Import\vorname.nachname.pst“ in das Online-Archiv des Benutzers „vorname.nachname@domain.de“ importieren:

New-MailboxImportRequest -Mailbox "vorname.nachname@domain.de" -IsArchive -FilePath "\\Computer\Import\vorname.nachname.pst"

Diese Funktion ist besonders Interessant. Wenn Benutzer „vorname.nachname“ bereits ein lokales Archiv in einer PST-Datei pflegt, kann man dieses ohne kompliziertes Verschieben in Outlook, über die PowerShell in ein Online-Archiv importiert werden.

Exchange Server 2010 – System-Postfächer

Sollte der Fall eintreten, dass die System-Postfächer defekt oder gelöscht wurden, kann man diese regenerieren. Im Detail geht es um folgende Postfächer:

  • FederatedEmail.4c1f4d8b-8179-4148-93bf-00a95fa1e042
  • SystemMailbox.1f05a927-af78-475a-aba4-fc281398eb54
  • SystemMailbox.e0dc1c29-89c3-4034-b678-e6c29d823ed9

Die GUIDs ändern sich je nach Organisation. Um vorhanden System-Postfächer anzuzeigen, kann man folgenden Befehl ausführen:

Get-Mailbox –Arbitration

System-Postfächer – Active Directory Accounts generieren

Die Accounts im Active Directory lassen sich über das Exchange-Setup erneut erstellen. Man muss allerdings die Kommandozeilen-Version des Setups aufrufen. Wenn ein Service Pack installiert ist, muss das Setup des jeweiligen Service Packs ausführen.

setup.com /PrepareAD

Wenn das Setup durchgelaufen ist, findet man die Accounts in der OU “Users”. Diese haben allerdings noch keine Mailbox.

System-Postfächer – Mailbox aktivieren

Jetzt müssen für die eben erstellten Benutzer Postfächer erstellt werden. Wie diese heißen, kann man aus der OU „Users“ ersehen. Wie schon erwähnt, ist die GUID variabel.

Beispiel:

Enable-Mailbox –Arbitration –Identity “FederatedEmail.4c1f4d8b-8179-4148-93bf-00a95fa1e042”
Enable-Mailbox –Arbitration –Identity “SystemMailbox.1f05a927-8668-4003-adad-9b80758e86db”
Enable-Mailbox -Arbitration -Identity “SystemMailbox.e0dc1c29-89c3-4034-b678-e6c29d823ed9”

Jetzt müssen die Anzeigenamen angepasst werden. Die System-Mailboxen haben den Namen “Microsoft Exchange”. Das sind allerdings nur zwei der grade erstellten. Finden kann man diese, weil sie mit der GUID “e0dc1c29” anfangen.

Set-Mailbox –Arbitration –Identity “SystemMailbox.1f05a927-8668-4003-adad-9b80758e86db” –DisplayName “Microsoft Exchange”
Set-Mailbox –Arbitration –Identity “SystemMailbox.e0dc1c29-89c3-4034-b678-e6c29d823ed9” –DisplayName “Microsoft Exchange”

Quota festlegen

Jetzt muss noch die Quota für das “FederatedEmail.4c1f4d8b-8179-4148-93bf-00a95fa1e042” Postfach angepasst werden.

Set-Mailbox –Arbitration –Identity “FederatedEmail.4c1f4d8b-8179-4148-93bf-00a95fa1e042” –ProhibitSendQuota 1MB

Ergebnis kontrollieren

Get-Mailbox –Arbitration