5ain7 ga11 . CH || i7-l3ak5. CH || g07r007.CH

Exchange 2010

Exchange attachment size limit (Exchange 2010+)

by on Apr.11, 2016, under Exchange 2010, Exchange 2013, Exchange Server, Knowledgebase

Es gibt drei “Orte”, wo man die Attachment Size Limit einstellen kann.

  • Organization transport settings
  • Send/receive connector settings
  • User mailbox settings.
<get-transportconfig | ft maxsendsize, maxreceivesize >
<get-receiveconnector | ft name, maxmessagesize >
<get-sendconnector | ft name, maxmessagesize >
<get-mailbox Username|ft Name, Maxsendsize, maxreceivesize>

Die gewünschten Werte einfach mit "SET" setzen.



Leave a Comment more...

Exchange 2013 Kalenderberechtigungen via Bulk setzten

by on Dec.01, 2015, under Exchange 2010, Exchange 2013, Exchange Server, Knowledgebase

<$allmailbox = Get-Mailbox -Resultsize Unlimited

Foreach ($Mailbox in $allmailbox) {Set-mailboxfolderpermission –identity ($Mailbox.alias+’:\Kalender’) –user Default –Accessrights Reviewer}

>

 

gibt das Recht Reviewer für alle Mailboxen

Leave a Comment more...

Exchange Whitespace anzeigen

by on Aug.06, 2015, under Exchange 2010, Exchange 2013, Exchange Server, Knowledgebase, Server-Plattformen

Mit folgendem Befehlt lässt sich beim Exchange 2010/+ der WhiteSpace anzeigen:

 

<Get-MailboxDatabase MyDatabaseName -Status | select AvailableNewMailboxSpace>

 

 

Leave a Comment more...

Scheduled Exchange Powershell Output via Email

by on May.05, 2015, under Exchange 2010, Exchange 2013, Exchange Server, Knowledgebase, PowerShell ISE, Server-Plattformen, Windows 2008 Server, Windows Server 2012 R2

Möchte man einen Exchange PoweShell Output terminiert ausführen und per Email senden, dann geht dies mit folgendem Script. Im Script habe ich gerade noch den Output in HTML formatiert und mit einer Table verpasst. In diesem Falle war es ein Get-MessagetrackingLog Output über einen ganzen Tag.

[code language=”powershell”]
$smtpServer = “mail.it-leaks.ch”
# SMTP Relay Server
$smtpFrom = “DailyReport@it-leaks.ch”
# SMTP Absender
$smtpTo = “spicedham@inter.net”
# Absender
$messageSubject = “Daily Report”
# Subject

$style = “< style>BODY{font-family: Arial; font-size: 10pt;}”
$style = $style + “TABLE{border: 1px solid black; border-collapse: collapse;}”
$style = $style + “TH{border: 1px solid black; background: #dddddd; padding: 5px; }”
$style = $style + “TD{border: 1px solid black; padding: 5px; }”
$style = $style + “< /style>”
# Style auf Arial setzen und Table einbauen

$message = New-Object System.Net.Mail.MailMessage $smtpfrom, $smtpto
$message.Subject = $messageSubject
$message.IsBodyHTML = $true
# Nachricht zusammenfügen und als HTML deklarieren

$message.Body = get-messagetrackinglog -Start (Get-Date).AddHours(-24) -Sender “out@it-leaks.ch” -EventID “SEND” | select {$_.Recipients},{$_.MessageSubject},{$_.TimeStamp} | ConvertTo-Html -Head $style
# Message Content aus Exchange PowerShell generieren

$smtp = New-Object Net.Mail.SmtpClient($smtpServer)
$smtp.Send($message)
# Message senden
[/code]

Damit das Script via Windows Scheduler täglich ausführen kann, habe ich es in einem CMD Wrapper verpackt, welcher das Script via Exchange PowerShell ausführt.

[code language=”powershell”]
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -command “. ‘c:\Program Files\Microsoft\Exchange Server\V14\bin\RemoteExchange.ps1’; Connect-ExchangeServer -auto; D:\DailyScripts\SendEmailwAttachHTML.ps1”
exit
[/code]

Anschliessend kann das CMD File via Windows Scheduler geplant werden.
Scheduler

Leave a Comment more...

SSL Wildcard Konfiguration für Exchange POP3 und IMAP

by on Apr.08, 2015, under Exchange 2007, Exchange 2010, Exchange 2013, Exchange Server, Knowledgebase

Wenn man versucht, bei einem Exchange 2010/2013 den POP3 und IMAP Services ein Wildcard Cert zuzuweisen, kommt folgende Meldung:

<Enable-ExchangeCertificate -Thumbprint XXXXXXXXXXXXXXXX -Services POP
WARNING: This certificate with thumbprint XXXXXXXXXXXXXXXXXXXXXX  and subject '*.example.com' cannot used for POP SSL/TLS connections because the subject is not a Fully Qualified Domain Name (FQDN). Use command Set-POPSettings to set X509CertificateName to the FQDN of the service.>

Das gleiche ist bei IMAP…

Der FQDN der X509 Certs muss dazu angepasst werden.

<Set-POPSettings -X509CertificateName mail.domain.ch>
<Set-IMAPSettings -X509CertificateName mail.domain.ch>

Danach noch die Services restarten.

<Restart-service MSExchangePOP3>
<Restart-service MSExchangeIMAP4>

Die Dienste lassen sich jetzt zuweisen.

Leave a Comment more...

ADFS / WAP and Exchange 2010 OWA Problem mit Kerberos (0x8007052e)

by on Apr.02, 2015, under ADFS, Exchange 2010, Exchange 2013, Exchange Server, Knowledgebase, Security, Server-Plattformen, Windows Server 2012 R2

Ich hatte das Problem, dass sich die User via Outlook Webapp (published via ADFS & WAP) nicht formularbasiert anmelden konnten. EAS und Konsorten funktionierten einwandfrei.

Nach dem Login auf dem neuen ADFS Page, passierte einfach nichts…

URL

 

Auf dem WAP Server sieht man, dass ein Kerberos Ticket angefordert wird, der ADFS Server aber kein Ticket zurücksenden kann. Die Logs auf dem WAP Server zeigten folgendes:

WAPLog

 

 

EVENT ID 12027, Username and Password wrong (0x8007052e).

 

Auf dem ADFS Server sieht man folgendes:

ADFSLOG

 

<364:

Encountered error during federation passive request.
Additional Data
Protocol Name:
Relying Party:
Exception details:
Microsoft.IdentityServer.Web.InvalidScopeException: 06a7aa66-3aad-e311-80c1-005056983900

 at Microsoft.IdentityServer.Web.Protocols.MSISHttp.MSISHttpProtocolHandler.ValidateSignInContext(MSISHttpSignInRequestContext msisContext, WrappedHttpListenerRequest request)

 at Microsoft.IdentityServer.Web.Protocols.MSISHttp.MSISHttpProtocolHandler.CreateProtocolContext(WrappedHttpListenerRequest request)

 at Microsoft.IdentityServer.Web.PassiveProtocolListener.GetProtocolHandler(WrappedHttpListenerRequest request, ProtocolContext& protocolContext, PassiveProtocolHandler& protocolHandler)

 at Microsoft.IdentityServer.Web.PassiveProtocolListener.OnGetContext(WrappedHttpListenerContext context)
>

Das Problem lag daran, dass der WAP-Server keine Berechtigung hatte Kerberos-Sicherheitstokens anzufordern. 

Nachdem ich den WAP Server in die Gruppe <Windows Authorization Access Group>
hinzugefügt hatte, funktionierte es nach dem Reboot einwandfrei.

 gruppe




Windows Authorization Access Group
In the user account in Active Directory there is a computed token. This is a computed version of the same security token that is created when a user logs in. You only need to add users to this group for special software that requires this access
Leave a Comment more...

Exchange: interne Servernamen aus Email Receive Header entfernen

by on Feb.19, 2015, under Exchange 2010, Exchange 2013, Exchange Server, Knowledgebase, Server-Plattformen

Beim Versand eines Emails via Exchange sieht ein Header normalerweise so aus, dass der interne Servernamen  im Header mitgegeben wird:

<Received: from mailout.in-the-cloud.ch (18.18.18.18) by vex10.itc.local
(192.168.10.19) with Microsoft SMTP Server id 14.2.347.0; Thu, 19 Feb 2015
14:19:50 +0100
Received: from mail.external.ch (mail.external.ch [81.81.81.81]) by
mailout.in-the-cloud.ch with ESMTP id tdORrIH8XGrJEANV for <me@in-the-cloud.ch>; Thu, 19
Feb 2015 14:22:05 +0100 (CET)
Received: from exchange.internal.local ([fe80::7598:91fd:6be7:2967]) by
exchange.internal.local ([fe80::7598:91fd:6be7:2967%11]) with mapi id
14.03.0224.002; Thu, 19 Feb 2015 14:22:04 +0100>

 

Wenn man will, dass diese Information verschleiert wird, dann kann man dies via Exchange Shell unterbinden.

<Get-SendConnector “Send-Connector Name” | Remove-ADPermission -AccessRight ExtendedRight -ExtendedRights ms-Exch-Send-Headers-Routing -user “NT AUTHORITY\Anonymous Logon”>

ACHTUNG, bei einem deutschsprachigem Exchange heisst es: <NT-AUTORITÄT\ANONYMOUS-ANMELDUNG>

Der Header sieht danach so aus:

<Received: from mailout.in-the-cloud.ch (18.18.18.18) by vex10.itc.local
(192.168.10.19) with Microsoft SMTP Server id 14.2.347.0; Thu, 19 Feb 2015
14:19:50 +0100
Received: from mail.external.ch (mail.external.ch [81.81.81.81]) by
mailout.in-the-cloud.ch with ESMTP id tdORrIH8XGrJEANV for <me@in-the-cloud.ch>; Thu, 19
Feb 2015 14:22:05 +0100 (CET)>

Leave a Comment more...

Exchange 2010 – ADFS – WAP 2012 R2 (TMG ReverseProxy Replacement)

by on Feb.17, 2015, under ADFS, Exchange 2010, Exchange 2013, Exchange Server, Knowledgebase, Server-Plattformen, TMG 2010, Windows Webapplication Proxy

Microsoft hat am 12. September 2012 entschieden, den Thread Management Gateway einzustellen. Jetzt müssen Alternativen im Bereich des Reverse Proxies her. Einige Anbieter buhlen um die Vorherrschaft in diesem Segment. Firewall Hersteller via Sophos, Barracuda und Citrix mit dem Netscaler mischen in diesem Segment ebenfalls mit. Möchte man jedoch der Microsoft-Linie treu  bleiben, so bleibt einem nur die Möglichkeit, das Web Application Proxy Feature des Server 2012 R2 einzusetzen.

 

Hier darum ein Step-by-Step Guide auf der Cloud-Werkstatt…

 

Rahmenbedingungen / Ausgangslage

  • 1 x Windows 2008 Domänencontroller (bestehend) => itc.local
  • 1x Windows 2012 R2 Domänencontroller inkl ADFS Rolle (neu)
  • 1x Exchange 2010 SP3 Rollup 8 (bestehend)
  • 1x Windows Server 2012 R2 als Reverse Proxy (neu)
  • Split Scope DNS Konfiguration mit SSL Wildcard (in-the-cloud.ch)
  • AutoDiscover funktionsfähig
  • sämtliche Server up to date (erspart viele Kindenkrankheiten)

Summary

 

Hostnames und IPs

  • TESTVS01-MHU – 2008 R2 DC
  • TESTVS02-MHU – 2008 R2 & Exchange 2010 SP3+
  • TESTVS03-MHU – 2012 R2 DC & ADFS
  • TESTVS04-MHU – 2012 R2 WAP (normalerweise in OPT Zone, war im Testlab aber nicht möglich)

DNS

 

 

DNS ScplitScope Records

DNS

  • autodiscover.in-the-cloud.ch =>für AutoDiscover
  • mail.in-the-cloud.ch =>  nur für SMTP Traffic (spielt hier keine Rolle)
  • owa.in-the-cloud.ch => OWA, EAS, ECP
  • sts.in-the-cloud.ch => Security Token Service, URL für ADFS

 

Installation

ADFS Server in Betrieb nehmen

1. via Powershell <Add-KdsRootKey -EffectiveTime (Get-Date).AddHours(-10)> hinzufügen

RootKey

 

2. ADFS Verbundsdienste installieren

ADFS1

3. Konfiguration nach Bereitstellung aktivieren

ADFS2

4. mit AD DS Verbinden (ein Domänenadmin)

ADFS3

5. Diensteigenschaften angeben

ADFS4

 

  • SSL Wildcard importieren
  • Verbunddienstname: sts.in-the-cloud.ch
  • Anzeigename: frei wählbar

6. Dienstkonto angeben

ADFS5

  • Ich nehme hier den gleichen Serviceuser
  • ein gruppenverwaltetet Dienstkonto ist IMHO nur mit DFL 2012 R2 möglich

7. Datenbank

ADFS6

  • Fürs Testlab genügt die Windows DB
  • Installation abschliessen

8. ADFS MMC starten und Konfiguration anpassen

ADFSk1

  • Verbunddiensteigenschaften bearbeiten…

ADFSk2

  • Settings überprüfen
    • Verbunddienstname: sts.in-the-cloud.ch
    • Bezeichner des Verbunddienstes: http://sts.in-the-cloud.ch/adfs/services/trust

 

“Ansprüche nicht unterstützender Vertauensstellungen….” hinzufügen

ADFSk5

 

Anzeigename

ADFSk4

  • Name frei wählbar (ist für Exchange 2010 und Ex 2013 gleich)

Bezeichner eingeben

ADFSk6

  • https://owa.in-the-cloud.ch/adfs/services/trust

 

Mehrstufige Authentifizierung

ADFSk7

  • Jetzt keine Einstellungen für die Mehrstufige Authentifizierung konfigurieren…

Assistent zum Hinzufügen einer Ausstellungs-Authorisierungs-Anspruchsregel

ADFSk8

 

  • Benutzer den Zugriff auf Grundlage…gewähren…
  • Allen Benutzer Zugriff gewähren

ADFSk9

 

  • Konfiguration abschliessen

 

ADFS Installation testen

https://sts.in-the-cloud.ch/adfs/ls/IdpInitiatedSignon.aspx$

eingeben. Hier sollte die ADFS Anmeldemaske erscheinen. Die Creds eingeben…

ADFSk10

  • Es sollte die Meldung kommen: “Sie sind angemeldet”

 

WAP Server in Betrieb nehmen

  • Als erstes sollte das SSL Wildcard im lokalen Computer Konto importiert werden

 

Remotezugriffdienste mit Web Anwendungsproxy installieren

WAP1

WAP2

Nach der Grundinstallation den Assistent für den Webanwendungsproxy starten

WAP3

 

Verbundserver

WAP4

  • Name des Verbunddienstes => sts.in-the-cloud.ch
  • Creds angeben, dann auf weiter
  • zuvor importiertes SSL Zertifikat wählen

Die Grundinstallation ist jetzt abgeschlossen. Anschliessend die WAP Konsole starten.

WAP5

  • Der WAP sollte jetzt voll funktionsfähig sein.

 

Remotzugriffsverwaltung starten und Exchange Dienst veröffentlichen

ECP und OWA (mit ADFS)

WAPr1

WAPr2

 

  • Vorauthentisierung => ADFS wählen

 

vertrauende Seite

WAPr3

  • selbst erstellte Exchange 2010/2013 ADFS Page wählen

Veröffentlichungseinstellungen

WAPr4

 

  • Name => frei wählbar => Exchange 2013 OWA
  • Zertifikat: importiertes Wildcard wählen
  • Externe URL & URL Backend Server => https://owa.in-the-cloud.ch/owa/ (Wichtig / am Schluss nicht vergessen)
  • Dienstprinzipialname des Backendservers = > http/owa.in-the-cloud.ch (Schreibweise beachten!!)
    • den SPN müssen wir noch registrieren…folgt

==> /ECP genau gleich veröffentlichen!!

  • https://owa.in-the-cloud.ch/ecp/
  • http/owa.in-the-cloud.ch

 

AutoDiscover, EAS, OAB und RPC via Passtrough

 

WAPr5

Die Passtrough Regeln werden nach folgendem Schema aktiviert:

WAPr6

 

 

Achtung : Exchange 2013 und Exchange 2010 unterscheiden sich hier :

 

Ex 2010 => https://owa.in-the-cloud.ch/Microsoft-Server-ActiveSync/

Ex2013 => https://owa.in-the-cloud.ch/Exchange-Server-ActiveSync/

 

Folgende Regeln sollten vorhanden sein:

WAPr7

 

Auszug aus: <get-Webapplicationproxyapplication | fl > output.txt>

Get-WebApplicationProxyapplication

 

Hier noch der Feinschliff im AD, damit der SPN auch funktioniert….

SPN Record im AD hinzufügen

Die erweiterten Attribute des Exchange AD Objektes öffnen und unter

“ServicePrincipalName”

HTTP/owa.in-the-cloud.ch” hinzufügen

 

SPN1

Dann aufs WAP Server Computerkonto wechseln

Delegierung auf WAP Server Objekt

SPN2

  • Anschliessend auf dem WAP Server AD Objekt die Delegierung auf den erstellten SPN aktivieren

Letzter Schritt….Exchange Server anpassen

auf Exchange 2010

auf dem CAS Server Authentifizierung für OWA und ECP anpassen auf “integrierte Windows Authentifzierung”

Exchange

Exchange2

IIS reset und GO!!!

https://owa.in-the-cloud.ch/owa sollte jetzt die neue Anmeldemaske vorweisen..

test1

nach dem Login erscheint dann das bekannt Fenster..

test2

 

DONE!!

 

 

Troubleshooting EAS mit Android Clients

Ich hatte noch das Problem, dass Android Clients nicht synchen konnten. Das Problem liegt an der SNI (Server Name Indication” des IIS 8. Android Clients haben Probleme damit.

Folgendes schafft Abhilfe ( in Netz gefunden)

http://blog.kloud.com.au/tag/web-application-proxy/

</SNIP>

webtroubs

<SNIP/>

Finding the solution took a lot of searching. This TechNet blog Server Name Indication (SNI) with IIS 8 (Windows Server 2012) pointed me in the right direction when talking about how IIS 8 has a way to add a legacy SSL binding to support non-SNI compliant clients. Web Application Proxy however is not based on IIS. That blog mentioned using netsh to view the HTTP SSL bindings:

<netsh http show sslcert>

  • Appid und Hash von owa.in-the-cloud.ch notieren..

 

SNI

The MSDN article How to: Configure a Port with an SSL Certificate showed how to add a new binding. The trick is to add an IP:port binding in addition to the Hostname:port which acts as a legacy non-SNI binding. As all of the WAP applications have the same certificate and Application ID, I reused those and created the new binding:

 

Lösung

<netsh http add sslcert ipport=0.0.0.0:443 certhash= 428b73e7d5e863b438fb547b133f3bda7a9daa1b appid={f955c070-e044-456c-ac00-e9e4275b3f04}>

 

SNI2

 

 

 

 

 

 

Leave a Comment more...

Exchange 2010/2013 mit ADFS, WAP Server 2012 R2 und Android Devices

by on Feb.17, 2015, under Exchange 2010, Exchange 2013, Exchange Server, Knowledgebase, Server-Plattformen, Windows Webapplication Proxy

Troubleshooting EAS mit Android Clients

Ich hatte noch das Problem, dass Android Clients nicht synchen konnten über WAP 2012 R2 mit ADFS. Das Problem liegt an der SNI (Server Name Indication” des IIS 8. Android Clients haben Probleme damit.

Folgendes schafft Abhilfe ( in Netz gefunden)

http://blog.kloud.com.au/tag/web-application-proxy/

</SNIP>

webtroubs

<SNIP/>

Finding the solution took a lot of searching. This TechNet blog Server Name Indication (SNI) with IIS 8 (Windows Server 2012) pointed me in the right direction when talking about how IIS 8 has a way to add a legacy SSL binding to support non-SNI compliant clients. Web Application Proxy however is not based on IIS. That blog mentioned using netsh to view the HTTP SSL bindings:

<netsh http show sslcert>

  • Appid und Hash von owa.in-the-cloud.ch notieren..

 

SNI

The MSDN article How to: Configure a Port with an SSL Certificate showed how to add a new binding. The trick is to add an IP:port binding in addition to the Hostname:port which acts as a legacy non-SNI binding. As all of the WAP applications have the same certificate and Application ID, I reused those and created the new binding:

 

Lösung

<netsh http add sslcert ipport=0.0.0.0:443 certhash= 428b73e7d5e863b438fb547b133f3bda7a9daa1b appid={f955c070-e044-456c-ac00-e9e4275b3f04}>

 

SNI2

 

 

 

 

 

 

Leave a Comment more...

Exchange OAB (offline Adressbuch) kann via Outlook Anywhere nicht heruntergeladen werden – bloody redirect

by on Feb.16, 2015, under Exchange 2010, Exchange Server, Knowledgebase

Ich hatte die Angewohnheit bei Exchange Servern ohne vorgeschalteten Reverse Proxy (wie z.B. TMG) ein IIS Root redirect auf /owa zu konfigurieren.

Dabei ist mir aufgefallen, dass es bei vielen Installationen nicht mehr möglich war, das OAB via RPC herunter zu laden. Beim manuellen download bliebt die Status Bar im Outlook einfach hängen und zeigte kein Fortschritt an.

Das Problem dabei ist folgendes. Exchange legt beim Redirect die Datei

web.config im Verzeichnis

C:\Program Files\Microsoft\Exchange Server\V14\ClientAccess\OAB” an und ändert deren Berechtigungen.

Folgendes schafft Abhilfe.

1. Im Outlook Client die Autokonfiguration starten und den OAB URL auslesen.

audisi

 

Via Browser auf https://myfqdn/OAB/generischeID verbinden. Erscheint die Meldung “interner Fehler 500″ so sind wir auf der richtigen Spur.

2. Anschliessend die Berechtigungen des Files “C:\Program Files\Microsoft\Exchange Server\V14\ClientAccess\OAB\web.config” checken.  Hier sollten die “Authentifizierten Benuter” Read und Write Zugriff haben. Falls die User nicht vorhanden sind, einfach hinzufügen.

OAB

3. Nachdem der User hinzugefügt wurde, einfach noch einen IIS reset durchführen. Danach sollte es wieder funktionieren.

 

 

Leave a Comment more...

Blogroll

A few highly recommended websites...