Dienstag, 17. September 2013

Exchange 2013: Planung der CAS Rolle

Hallo zusammen,

Unter Exchange 2013 gibt es bekanntermaßen nur noch zwei Serverrollen, CAS- und Mailbox Server Rolle. Ich habe mich in den letzten Tagen mit der Planung speziell um die CAS Serverrolle gekümmert und möchte gerne meine Erkenntnisse teilen.

Grundsätzlich hat sich doch sehr viel in der CAS Rolle geändert...

- Ein CAS 2013 bedient Clients nur noch ausschließlich via HTTPs bzw. RPC over https
- Der CAS Server ist lediglich "nur" noch für Authentifizierung, Proxing und Redirection zuständig
- Sogar das Rendering der Email Inhalte passieren mittlerweile auf dem Mailbox Server
- keine Affinitäten mehr, alle Verbindungen hin zum CAS Server sind zustandslos
- es gibt keine enge Bindung mehr zwischen den CAS und Mailbox Server, wie damals noch unter Exchange 2010

So viel macht der CAS Server also gar nicht mehr, die Hauptarbeit bzw. die Hauptlast passiert mittlerweile auf dem Mailbox Server.

Daher stellt sich die Frage ob die CAS Rolle überhaupt noch von der Mailbox Rolle getrennt werden sollte bzw. muss - mal unabhängig der Anzahl der Mailboxen welche gehostet werden, denn salopp gesagt macht der CAS Server fast nur noch Proxying. 

Die Frage warum es überhaupt noch zwei Rollen, CAS und Mailbox Rollen gibt, konnte mir so richtig noch niemand beantworten, die CAS Rolle macht meines Erachtens ja eh nicht mehr wirklich viel, siehe oben.

Unter der Voraussetzung dass das Unternehmen eine hochverfügbare Lösung möchte, gibt es meiner Meinung nach zwei Möglichkeiten (es ist zu beachten, dass Mailbox Server, die in einer DAG Mitglied sind, nicht noch zusätzlich Mitglied eines Windows NLB sein können).

Beispiel-Firma, Mittelständische Firma, deren zwei Mailbox Server ausreichen:

- zwei Mailbox Server als DAG plus zwei CAS Server als Windows NLB oder
- zwei Mailbox Server als DAG plus zwei Hardware Loadbalancer (z.B. F5, oder Kemp etc.)

Ein Windows NLB vergleiche ich einfach mal ganz frech mit einem Layer-4 Hardware NLB - das Load Balancing basiert auf IP Adressen. Fällt ein CAS Server aus, wird nur noch die IP Adresse vom anderen CAS Server bedient. 

Ein Layer-7 NLB kann hier deutlich mehr, switcht beispielsweise auf Dienst- und Serververfügbarkeit, bringt aber noch weitere Features wie SSL Offloading mit. 

Die Frage, die sich hinsichtlich der CAS Server Planung stellt ist, ob die Features wie Dienst- und Serververfügbarkeit tatsächlich benötigt wird? Alternativ könnte an dieser Stelle auch SCOM als Dienst- und Serverüberwachung eingesetzt werden. Weiterhin stellt sich die Frage der Kosten, zum einen was kosten vier Windows Server (2 x DAG + 2 x Windows NLB als CAS Server) zum anderen was kosten zwei Windows Server und zwei Hardware NLB (Layer-4 oder Layer-7). 

Natürlich sollten auch noch weitere, weichere Aspekte beachtet werden:

- ein Hardware NLB im HA-Modus bedeutet auch gleich erhöhte Beschaffungskosten
- ein Hardware NLB muss auch betrieben werden, d.h. entsprechendes Know-How muss aufgebaut oder zugekauft werden
- ein Windows NLB kann auch von einem Windows Administrator betreut und erstellt werden
- Ein Hardware NLB wird per se mehr Power und deutlich mehr Features haben, als ein Windows NLB (dies ist gerade in großen Umgebungen nicht gerade unwichtig)

Grundsätzlich muss sich ein Unternehmen fragen was es tatsächlich an Features haben möchte, wenn einfaches IP Routing reicht, ist ein Windows NLB vollständig ausreichend. Ist jedoch eine Dienst- und Serverüberwachung und ein proaktives Umschwenken der Endpunkte oder erweiterte Features und viel Peformance wichtig, sollte überlebt werden ob Layer-7 Hardware NLB zum Einsatz kommen sollten.

Viele Grüße, Jens


Donnerstag, 8. August 2013

End-of-Life für Windows XP

Hallo zusammen,

langsam rückt der Tag näher, das Produkt welches für mich persönlich ein Meilenstein war und das mich so lange Zeit privat und geschäftliche begleitet hat erreicht so langsam sein End-of-Life...

April 2014 endet die 13-jährige Erfolgsgeschichte von Windows XP und Office 2003. Microsoft kündigt den Support für die beiden Produkte endgültig ab.

Viele Grüße, Jens

Mittwoch, 7. August 2013

Erweiterte Ausgabe von Exchange Statistiken

Hallo zusammen,

wir hatten letzte Woche die Anforderung einige Statistiken aus dem Exchange herauszuholen, die ich im Folgenden gerne weitergeben möchte.

Export aller Mailboxen auf dem Exchange Server in die Datei C:\userstats.csv inkl. dem Vor- und Nachname und der Postfachgröße in MB

Get-Mailbox -ResultSize Unlimited | Get-MailboxStatistics | Select-Object @{Name="UserPrincipalName"; Expression={(Get-User $_.Identity.MailboxExchangeLegacyDn).UserPrincipalName}},@{Name="FirstName"; Expression={(Get-User $_.Identity.MailboxExchangeLegacyDn).FirstName}},@{Name="LastName"; Expression={(Get-User $_.Identity.MailboxExchangeLegacyDn).LastName}}, @{Name="TotalItemSize" ; Expression={$_.TotalItemSize.Value.ToMB()}} | Sort-Object -Property TotalItemSize -Descending | Export-CSV –Encoding ‘Unicode’ “c:\userstats.csv” –notype

Export aller Mailboxen inkl. ALLER Email Adressen die diesem Postfach zugeordnet sind. 

Get-Mailbox -ResultSize unlimited | select DisplayNAme, @{Name="EmailAddresses";Expression={$_.EmailAddresses}} |export-csv -path "C:\EmailAdresses.csv"


Export aller Verteilerlisten inkl. der Email Adresse der jeweiligen Verteilerliste und die Email Adressen / Namen der Mitglieder der Verteilerlisten

write-output “” > C:\outputDGmembers.txt
get-distributiongroup | Sort -Property DisplayName | foreach {
$name = $_.displayname
$Email = $_.WindowsEmailAddress
$output = ‘Group Name: ‘ + $Name + $Email
$output = ‘Email: ‘ + $Email
write-output $output >> C:\outputDGmembers.txt
Get-DistributionGroupMember $name | Sort -Property DisplayName | Select DisplayName, Alias, PrimarySmtpAddress >> C:\outputDGmembers.txt
write-output “” “” >> C:\outputDGmembers.txt
}


Mit diesem Befehl haben wir uns alle Postfachberechtigungen pro Postfach anzeigen lassen.


$a = get-mailbox 
$a |Get-Mailboxpermission | where { ($_.IsInherited -eq $false) -and -not ($_.User -like “ NT AUTHORITY\SELF”) -and -not ($_.User -like '*Discovery Management*') } | Select Identity, user, AccessRights | fl 

Dienstag, 6. August 2013

Ausgabe der Postfachgröße pro Datenbank

Mit dem folgenden Exchange Powershell Befehl ist es möglich pro Datenbank die Mailbox Größe sortiert nach dieser in MB auszugeben:

Get-MailboxStatistics -Database "%sernam e%\First Storage Group\mailbox database" | Sort-Object TotalItemSize -Descending | ft DisplayName,@{label="TotalItemSize(MB)";expression={$_.TotalItemSize.Value.ToMB()}},ItemCount

%servername% muss durch den jeweiligen lokalen Exchange Server ausgetauscht werden