CZ 
30.11.2025 Ondřej VÍTEJTE V MÉM SVĚTĚ

An English translation is available for this article. Pro tento článek je dostupný anglický překlad.
Exchange Server 2016 to Subscription Edition (SE) Migration Part 2 Client Access

Migrace Exchange Server 2016 na Subscription Edition (SE) část 2 Client Access

Upraveno 29.08.2025 14:00 | vytvořeno | Petr Bouška - Samuraj |
Migraci Exchange organizace z verze 2016 na Subscription Edition (SE) musíme provést pomocí Legacy upgrade. To znamená, že nainstalujeme nový server, který přidáme do organizace, nakonfigurujeme a provedeme migraci schránek. V druhé části se věnujeme nastavení služeb pro přístup klientů (Client Access). Tedy primárně protokol MAPI over HTTP, Outlook on the web a další Virtual Directories. Řešíme komunikace skrze HTTPS, nevěnujeme se protokolům POP3 a IMAPS.
zobrazeno: 6 222x (1 357 CZ, 4 865 EN) | Komentáře [0]

Pozn.: Prakticky jsem instaloval Exchange Server SE roli Mailbox server na Windows Server 2025. V prostředí s jinou interní a veřejnou DNS doménou a Split DNS (Split-Brain DNS). Do existující organizace Exchange 2016 s využitím DAG (Database Availability Group).

Nastavení přístupu klientů (Client Access)

Musíme nastavit adresy (URL) pro interní a externí přístup klientů. A také požadovaný způsob autentizace. Klient se může připojit k libovolnému Mailbox serveru a je zajištěn prostup požadavku (proxy) na server, kde je aktivní databáze pro jeho schránku.

Typy klientů

Klientem může být

  • desktopová aplikace jako Outlook
  • webový prohlížeč pro Outlook on the web
  • mobilní zařízení

Podporované protokoly a metody přístupu klientů

Pro přístup klientů jsou k dispozici různé protokoly, většinou je komunikace skrze HTTPS.

  • MAPI over HTTP - primární protokol pro přístup z aplikace Outlook (podporován od Outlook 2013 SP1), Messaging Application Programming Interface (MAPI) zapouzdřený do HTTPS
  • Outlook on the web (OWA, dříve Outlook Web App) - přístup k poštovní schránce prostřednictvím webového prohlížeče
  • Exchange ActiveSync - protokol (založený na HTTP a XML) pro připojení ke schránce z mobilních zařízení
  • Outlook Anywhere - MAPI over RPC over HTTP, starší možnost pro připojení klientů, kteří nepodporují MAPI over HTTP (nechápu o které klienty by mělo jít, Exchange SE podporuje Outlook od verze 2016, který podporuje MAPI over HTTP)
  • POP3 a IMAP4 - volitelná možnost přístupu ke schránce pomocí programů, které používají protokol POP3 nebo IMAP4

Konfigurace interních a externích adres (URL) a autentizace

Služby, které budeme konfigurovat, běží na Exchange Mailbox serveru jako IIS virtuální adresáře (Virtual Directories). Konfiguraci můžeme provádět pomocí Exchange Admin Center (EAC) nebo Exchange Management Shell (EMS). Pro většinu situací se můžeme podívat na nastavení na stávajícím serveru a stejně nastavit službu na novém Exchange SE.

Po instalaci Exchange Serveru se na jeho jednotlivé klientské služby nastaví adresa daného serveru pro interní přístup (Internal URL). Externí přístup (External URL) je nenastavený. Naším cílem je tedy změnit interní URL a přidat externí URL. Použité adresy služeb jsme popisovali v minulém díle, jde o mail.firma.local a mail.firma.cz. Interně je adresa DNS A záznam, který obsahuje IP adresy všech Exchange serverů (zatím bez nového Exchange SE).

Outlook Anywhere

Myslím, že Outlook Anywhere se již nevyužívá a nejlepší by bylo jej vypnout, to ale nijak jednoduše nelze.

Pozn.: V praxi jsem zjistil, že se Outlook občas pokusí k Outlook Anywhere připojit. Interní adresu musíme v konfiguraci zadat a pak záleží na host name a použitém certifikátu (při chybě vyskakuje varování, i když Outlook zůstává připojen).

Exchange Admin Center

Konfigurace pomocí EAC se nachází na jiném místě než všech ostatních služeb (až na POP3 a IMAP4, které zde neřešíme).

  • EAC - Exchange Admin Center
  • Servers - Servers
  • zvolíme server a klikneme na tužku (Edit)
  • přepneme se na Outlook Anywhere
  • nastavujeme Specify the external host name, Specify the internal host name, Specify the authentication method for external clients

Exchange Management Shell

Pomocí EMS si můžeme vypsat důležitá nastavení všech serverů.

[PS] C:\>Get-OutlookAnywhere | fl servername,external*,internal*,iis*,ssl*

ServerName                         : MAIL0
ExternalHostname                   : mail.firma.cz
ExternalClientAuthenticationMethod : Negotiate
ExternalClientsRequireSsl          : True
InternalHostname                   : mail.firma.local
InternalClientAuthenticationMethod : Ntlm
InternalClientsRequireSsl          : True
IISAuthenticationMethods           : {Basic, Ntlm, Negotiate}
SSLOffloading                      : True

A provést potřebná nastavení na novém server (některé parametry se musí zadat společně).

Set-OutlookAnywhere -Identity "MAIL1\Rpc (Default Web Site)" -ExternalHostname "mail.firma.cz" -ExternalClientsRequireSsl $true `
 -ExternalClientAuthenticationMethod Negotiate -InternalHostname "mail.firma.local" -InternalClientsRequireSsl $true `
 -InternalClientAuthenticationMethod Negotiate

Ostatní služby - Virtual Directories

Exchange Admin Center

Konfigurace ostatní služeb pro přístup klientů se v EAC nachází na společném místě.

  • EAC - Exchange Admin Center
  • Servers - Virtual directories

Jsou zde virtuální adresáře pro jednotlivé služby. Nejen ty, které jsme uvedli na začátku.

  • mapi (Default Web Site) - MAPI over HTTP
  • owa (Default Web Site) - Outlook on the web (OWA)
  • Microsoft-Server-ActiveSync (Default Web Site) - Exchange ActiveSync (EAS)
  • AutoDiscover (Default Web Site) - AutoDiscover
  • ecp (Default Web Site) - Exchange Admin Center, dříve Exchange Control Panel (ECP)
  • EWS (Default Web Site) - Exchange Web Services (EWS)
  • OAB (Default Web Site) - Offline Address Book (OAB)
  • PowerShell (Default Web Site) - PowerShell vzdálený přístup

Adresu pro externí přístup můžeme nastavit hromadně, když klikneme na ikonu klíče (Configure external access domain). Ostatní nastavujeme pro jednotlivé servery a služby.

  • nahoře můžeme filtrovat určitý server nebo typ služby
  • v seznamu vybereme službu (adresář) a klikneme na ikonu tužky (Edit)
  • pro většinu služeb můžeme nastavit interní a externí URL a autentizaci
Exchange admin center - Servers - Virtual Directories

Exchange Management Shell

Pomocí EMS si můžeme vypsat důležitá nastavení jednotlivých služeb (adresářů) na všech serverech.

Hlavní služby

Get-MapiVirtualDirectory | FL Server,external*,internal*,iis*
Get-OwaVirtualDirectory | FL ServerName,externalurl,internalurl,*auth*,LogonFormat
Get-ActiveSyncVirtualDirectory | FL Server,external*,internal*,*authenabled*,*certauth,*ssl*

Další služby

Get-WebServicesVirtualDirectory | FL Server,external*,internal*,*Authentication
Get-OABVirtualDirectory | FL Server, external*,internal*,*Authentication,*SSL
Get-EcpVirtualDirectory | FL Server, external*,internal*,*Authentication 
Get-PowerShellVirtualDirectory | FL Server, external*,internal*,*Authentication,*SSL

Autodiscover Na virtual directory nenastavujeme URL, ale pouze autentizaci. Klienti v doméně používají pro nalezení adresy také SCP (Service Connection Point) objekt v AD.

Get-AutodiscoverVirtualDirectory | FL Server,*Auth*
Get-ClientAccessService | FL Name,*Enabled,*Uri,*Site*

Nastavení interní a externí adresy pomocí EMS

Interní a externí adresu můžeme pomocí EMS jednoduše nastavit.

$s = "mail1"
$urlI = "mail.firma.local"
$urlE = "mail.firma.cz"

Get-MapiVirtualDirectory -Server $s | Set-MapiVirtualDirectory -InternalUrl https://$urlI/mapi -ExternalUrl https://$urlE/mapi
Get-OwaVirtualDirectory -Server $s | Set-OwaVirtualDirectory -InternalUrl https://$urlI/owa -ExternalUrl https://$urlE/owa
Get-ActiveSyncVirtualDirectory -Server $s | Set-ActiveSyncVirtualDirectory -InternalUrl https://$urlI/Microsoft-Server-ActiveSync `
 -ExternalUrl https://$urlE/Microsoft-Server-ActiveSync

Get-EcpVirtualDirectory -Server $s | Set-EcpVirtualDirectory -InternalUrl https://$urlI/ecp -ExternalUrl https://$urlE/ecp
Get-WebServicesVirtualDirectory -Server $s | Set-WebServicesVirtualDirectory -InternalUrl https://$urlI/EWS/Exchange.asmx `
 -ExternalUrl https://$urlE/EWS/Exchange.asmx
Get-OabVirtualDirectory -Server $s | Set-OabVirtualDirectory -InternalUrl https://$urlI/OAB -ExternalUrl https://$urlE/OAB
Get-PowerShellVirtualDirectory -Server $s | Set-PowerShellVirtualDirectory -InternalUrl https://$urlI/powershell `
 -ExternalUrl https://$urlE/powershell

Get-ClientAccessService -Identity $i |
 Set-ClientAccessService -AutoDiscoverServiceInternalUri https://$urlI/Autodiscover/Autodiscover.xml

Autentizační metody

Zvolit vhodnou formu autentizace s ohledem na typ služby a konkrétní podmínky je významný, a zároveň poměrně složitý úkol. Řešil jsem již u přechodu na Exchange 2016 a ani tehdy ani nyní jsem nenalezl žádnou rozumnou dokumentaci. Pokud máme aktuálně dobře nastavené, tak jen provedeme stejnou konfiguraci na novém serveru. Ale může být vhodné vše znovu vyhodnotit.

Měli bychom využít co nejbezpečnější způsob autentizace. Může to být Kerberos, který ovšem můžeme použít pouze interně v doméně. Ještě lepší by byla Modern Auth, tedy OAuth 2.0, ale to vyžaduje ADFS nebo Hybrid Modern Authentication (HMA). Pro některé služby (třeba ActiveSync) musíme standardně zůstat u Basic authentication.

Windows Extended Protection

Důležité je, že po instalaci je automaticky zapnutá Windows Extended Protection. Pokud nesplňujeme podmínky, tak mohou mít problém uživatelé, kteří se připojují Outlookem z internetu. Projevuje se to tak, že dokola vyskakuje dialog na přihlášení.

Ve Windows Security Event Logu nalezneme události Event ID 4625, Audit Failure, An account failed to log on.

Failure Reason: An Error occured during Logon.
Status:         0xC000035B

Problém může být, když používáme SSL Bridging. Firewall či Load Balancer dešifruje SSL spojení od klientů a navazuje nové šifrované spojení na Exchange. To může být použito proto, že se externí klienti připojují na veřejnou doménu a používáme komerční certifikát. Ale v interní síti máme doménu neveřejnou a certifikáty od interní CA. A to je právě situace, která není podporovaná s Windows Extended Protection.

SSL Bridging můžeme použít pouze v případě, kdy máme stejný certifikát na Exchange serveru i na Firewallu. Řešení je používat v interní síti veřejná DNS jména pro Exchange webové služby (většinou jde o jednu sdílenou/virtuální adresu) a všude nastavit komerční certifikát.

Kerberos autentizace pro load-balanced Client Access

Protože pro služby využíváme virtuální adresu, společné doménové jméno (stejný namespace a URL), pro všechny Exchange servery. Tak máme rozvažované (Load-balanced) Mailbox servery, kde běží služby pro přístup klientů. Když chceme využít Kerberos autentizaci pro některou službu (třeba MAPI over HTTP), tak musíme v doméně vytvořit speciální účet a nastavit mu Service Principal Names (SPN). Všechny servery musí využívat stejné Alternate Service Account (ASA) credential.

Podrobně je popsáno v oficiální dokumentaci nebo ve starším článku Exchange Server 2016 Client Access - přístup klientů. Na účtu bychom již neměli využívat RC4, takže atribut msDS-SupportedEncryptionTypes má hodnotu například 24. Zde vycházíme z toho, že účet máme vytvořený a pouze nastavíme na nových Exchange serverech.

Kontrola aktuálního nastavení

[PS] C:\>Get-ClientAccessService -IncludeAlternateServiceAccountCredentialStatus | FL Name, AlternateServiceAccountConfiguration

Name                                 : MAIL0
AlternateServiceAccountConfiguration : Latest: 25.03.2019 7:49:00, firma\EXCH2016ASA$
Previous: <Not set>

Name                                 : MAIL1
AlternateServiceAccountConfiguration : Latest: <Not set>
Previous: <Not set>

Nastavení ASA Credential na další Exchange server

cd $ExScripts
.\RollAlternateServiceAccountPassword.ps1 -ToSpecificServer mail1.firma.local -CopyFrom mail0.firma.local

MAPI over HTTP

Při výpisu nastavení se zobrazuje InternalAuthenticationMethods, ExternalAuthenticationMethods a IISAuthenticationMethods, ale v EAC i EMS můžeme nastavit pouze společnou hodnotu (tedy nelze mít jinou interní a externí metodu). Pomocí cmdletu Set-MapiVirtualDirectory používáme parametr IISAuthenticationMethods. Výchozí nastavení je NTLM, OAuth a Negotiate. Microsoft doporučuje mít vždy nastaveno oAuth.

Set-MapiVirtualDirectory -Identity "MAIL1\mapi (Default Web Site)" -IISAuthenticationMethods OAuth, Negotiate
Exchange admin center - Virtual Directories - MAPI Authentication

Outlook on the Web (OWA) and Exchange Admin Center (EAC)

Autentizační metody pro OWA a EAC musíme nastavit stejně. Často se využívá Forms Based Authentication (FBA), která na pozadí využívá Basic authentication. Autentizaci nastavujeme opět společně pro interní i externí připojení.

Konfiguraci provedeme jednoduše pomocí EAC. Pro FBA nastavujeme také formát jména. Ale pouze pro OWA, pro ECP se musíme vždy přihlašovat pomocí Domain\user name. Pro OWA dále nastavujeme povolené OWA vlastnosti a přístup k souborům. Po některých změnách je potřeba restartovat IIS.

Exchange ActiveSync

Standardně se používá Basic authentication, další možnosti jsou Certificate Based Authentication (CBA) nebo Hybrid Modern Authentication (HMA).

Exchange Web Services (EWS)

Standardně se používá Windows authentication. Pro některé případy se používala Basic authentication, což již není doporučeno.

Pokud máme Exchange Hybrid, tak bychom měli na EWS zapnout MRS Proxy (Enable MRS Proxy endpoint).

Outlook Anywhere (RPC over HTTP)

Jak jsme si uvedli, Outlook Anywhere by již neměl být potřeba, přesto si uvedeme hlavní informace. Různé rady nalezneme v článku Disable Basic authentication on the RPC (Outlook Anywhere) virtual directory.

Uvádí se zde, že bychom autentizaci měli nastavovat pomocí EMS, protože EAC nastavuje pouze externí. Doporučuje se nastavit stejné metody pro interní i externí přístup. Cmdlet Set-OutlookAnywhere má parametry InternalClientAuthenticationMethod, ExternalClientAuthenticationMethod a IISAuthenticationMethods, které nastavují jednotlivé hodnoty. Nebo můžeme využít společný DefaultAuthenticationMethod.

Get-OutlookAnywhere -Server MAIL1 | Set-OutlookAnywhere -DefaultAuthenticationMethod Negotiate

V jiných příkladech se často uvádí nastavení.

Get-OutlookAnywhere -Server MAIL1 | Set-OutlookAnywhere -ExternalClientAuthenticationMethod Negotiate `
 -InternalClientAuthenticationMethod Negotiate -IISAuthenticationMethods Basic,NTLM,Negotiate

Nastavení Download Domains

Abychom v rámci OWA zabezpečili stahování příloh proti útokům typu CSRF (cross-site request forgery), tak se doporučuje nastavit jinou doménu.

Kontrola aktuálního nastavení

Get-OwaVirtualDirectory | FL ServerName,*Download*

Konfigurace nového serveru

Get-OwaVirtualDirectory -Server MAIL1 | Set-OwaVirtualDirectory -ExternalDownloadHostName "maildownload.firma.cz" `
 -InternalDownloadHostName "maildownload.firma.cz"

Outlook AutoDiscover test a informace o připojení

Přímo v aplikaci Outlook můžeme provést jednoduché kontroly.

  • spustíme Outlook
  • klikneme pomocí Ctrl + pravé tlačítko myši na ikonu Outlook v oznamovací oblasti (vedle hodin)
Outlook context menu

Connection Status

Zjistíme, k jakým Exchange serverům se připojujeme, pomocí jakého protokolu a autentizace.

  • klikneme na Connection Status
  • vidíme jednotlivá spojení na určité servery nebo virtuální adresy, jsou zde uvedeny protokol (HTTP pro MAPI over HTTP, RPC/HTTP pro Outlook Anywhere), URL, autentizace (NEGO, NTLM, KERBEROS, CLEAR - Basic, BEARER - OAuth bearer token), šifrování a další
Outlook - Connection Status

Test E-mail AutoConfiguration

Můžeme se podívat na informace, které nám vrací AutoDiscover.

  • klikneme na Test E-mail AutoConfiguration
  • můžeme otestovat službu Autodiscover, log nám ukáže průběh nalezení URL a stažení XML, mezi výsledky je obsah konfiguračních dat
Outlook - Test E-mail AutoConfiguration

Související články:

Migrace Exchange organizace 2016 na Subscription Edition (SE)

Stručný postup migrace organizace z Exchange Server 2016 na Exchange Server Subscription Edition (SE). Jde o instalaci nového serveru do stávající organizace, nastavení služeb a přesun schránek.

Microsoft Exchange

Skoro od začátku mé praxe se věnuji administraci poštovního serveru od firmy Microsoft, tedy Exchange Serveru. Začínal jsem na verzi 2003 a dostal se až k Exchange Online. Články popisují mnoho oblastí správy. Nejvíce od migrace na Exchange Server 2016 a jeho kompletní konfiguraci. Ale také Exchange Hybrid a bezpečnost elektronické pošty.

Pokud se chcete vyjádřit k tomuto článku, využijte komentáře níže.

Komentáře

Zatím zde nejsou žádné komentáře.

Přidat komentář

Vložit tag: strong em link

Nápověda:
  • maximální délka komentáře je 2000 znaků
  • HTML tagy nejsou povoleny (budou odstraněny), použít se mohou pouze speciální tagy (jsou uvedeny nad vstupním polem)
  • nový řádek (ENTER) ukončí odstavec a začne nový
  • pokud odpovídáte na jiný komentář, vložte na začátek odstavce (řádku) číslo komentáře v hranatých závorkách