Um die URLs und Hostnamen eines Exchange 2016 Servers festzulegen, kann das folgende Script benutzt werden:
#Hostname für Exchange Webservices, OWA, Outlook Anywhere, Active Sync: $OutlookHostname = "outlook.frankysweb.de" #Hostname für Autodiscover: $AutodiscoverHostname = "autodiscover.frankysweb.de" #OWA $owa = "https://" + "$OutlookHostname" + "/owa" write-host "OWA URL:" $owa Get-OwaVirtualDirectory -Server $env:computername | Set-OwaVirtualDirectory -internalurl $owa -externalurl $owa -wa 0 #ECP $ecp = "https://" + "$OutlookHostname" + "/ecp" write-host "ECP URL:" $ecp Get-EcpVirtualDirectory -server $env:computername| Set-EcpVirtualDirectory -internalurl $ecp -externalurl $ecp #EWS $ews = "https://" + "$OutlookHostname" + "/EWS/Exchange.asmx" write-host "EWS URL:" $ews Get-WebServicesVirtualDirectory -server $env:computername | Set-WebServicesVirtualDirectory -internalurl $ews -externalurl $ews -confirm:$false -force #ActiveSync $eas = "https://" + "$OutlookHostname" + "/Microsoft-Server-ActiveSync" write-host "ActiveSync URL:" $eas Get-ActiveSyncVirtualDirectory -Server $env:computername | Set-ActiveSyncVirtualDirectory -internalurl $eas -externalurl $eas #OfflineAdressbuch $oab = "https://" + "$OutlookHostname" + "/OAB" write-host "OAB URL:" $oab Get-OabVirtualDirectory -Server $env:computername | Set-OabVirtualDirectory -internalurl $oab -externalurl $oab #MAPIoverHTTP $mapi = "https://" + "$OutlookHostname" + "/mapi" write-host "MAPI URL:" $mapi Get-MapiVirtualDirectory -Server $env:computername| Set-MapiVirtualDirectory -externalurl $mapi -internalurl $mapi #Outlook Anywhere (RPCoverhTTP) write-host "OA Hostname:" $OutlookHostname Get-OutlookAnywhere -Server $env:computername| Set-OutlookAnywhere -externalhostname $OutlookHostname -internalhostname $OutlookHostname -ExternalClientsRequireSsl:$true -InternalClientsRequireSsl:$true -ExternalClientAuthenticationMethod 'Negotiate' -wa 0 #Autodiscover SCP $autodiscover = "https://" + "$AutodiscoverHostname" + "/Autodiscover/Autodiscover.xml" write-host "Autodiscover URL:" $autodiscover Get-ClientAccessService $env:computername | Set-ClientAccessService -AutoDiscoverServiceInternalUri $autodiscover
Nachdem Zeile 2 und Zeile 4 angepasst wurden, kann das Script auf jedem Exchange 2016 Server ausgeführt werden, der die Einstellungen erhalten soll. Um das Script auszuführen, kann es in eine .PS1 Datei kopiert werden, die dann mit der Exchange Management Shell ausgeführt wird:
Das Script konfiguriert interne und externe URL, bzw. internen und externen Hostnamen identisch.
Danach können die Zertifikate mit den Hostnamen konfiguriert werden, die in Zeile 2 und Zeile 4 angegeben wurden. Ob alle Exchange Server die korrekten URLs haben, lässt sich mit dem Script aus diesem Artikel prüfen:
Exchange 2016: DNS-Namen für Zertifikate ermitteln (Quick & Dirty)