Website-Icon Frankys Web

Exchange 2016: URLs und Hostnamen per PowerShell konfigurieren

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)

Die mobile Version verlassen