In letzter Zeit habe ich einige 2016 und 2019 Exchange Server zu SE migriert – und ähnlich wie für das Kopieren der Receive Connectors habe ich mir auch ein kleines Helferlein fürs Übertragen der vDir internal und external URLs geschrieben.
Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn
$srcserver = (Get-ExchangeServer | ogv -PassThru -Title "Select the source server").Name
$dstserver = (Get-ExchangeServer | ogv -PassThru -Title "Select the destination server").Name
Write-Host "Getting vDir info..."
$src_ecp = Get-EcpVirtualDirectory -Server $srcserver | select *nalurl
$src_ews = Get-WebServicesVirtualDirectory -Server $srcserver | select *nalurl
$src_map = Get-MapiVirtualDirectory -Server $srcserver | select *nalurl
$src_act = Get-ActiveSyncVirtualDirectory -Server $srcserver | select *nalurl
$src_oab = Get-OabVirtualDirectory -Server $srcserver | select *nalurl
$src_owa = Get-OwaVirtualDirectory -Server $srcserver | select *nalurl
$src_cas = Get-ClientAccessService $srcserver | select AutoDiscoverServiceInternalUri
# Objekt mit allen URLs
$exchangeVDirs = [PSCustomObject]@{
ServerName = $srcserver
EcpInternalUrl = $src_ecp.InternalUrl
EcpExternalUrl = $src_ecp.ExternalUrl
EwsInternalUrl = $src_ews.InternalUrl
EwsExternalUrl = $src_ews.ExternalUrl
MapiInternalUrl = $src_map.InternalUrl
MapiExternalUrl = $src_map.ExternalUrl
ActiveSyncInternalUrl = $src_act.InternalUrl
ActiveSyncExternalUrl = $src_act.ExternalUrl
OabInternalUrl = $src_oab.InternalUrl
OabExternalUrl = $src_oab.ExternalUrl
OwaInternalUrl = $src_owa.InternalUrl
OwaExternalUrl = $src_owa.ExternalUrl
AutoDiscoverServiceInternalUri = $src_cas.AutoDiscoverServiceInternalUri
}
# Ausgabe zur Kontrolle
$exchangeVDirs | Format-list
Write-Host "Setting ECP vDir"
if($src_ecp.InternalUrl -notmatch $srcserver){Get-EcpVirtualDirectory -Server $dstserver | Set-EcpVirtualDirectory -InternalUrl $src_ecp.InternalUrl}
Get-EcpVirtualDirectory -Server $dstserver | Set-EcpVirtualDirectory -ExternalUrl $src_ecp.ExternalUrl
Write-Host "Setting EWS vDir"
if($src_ews.InternalUrl -notmatch $srcserver){Get-WebServicesVirtualDirectory -Server $dstserver | Set-WebServicesVirtualDirectory -InternalUrl $src_ews.InternalUrl}
Get-WebServicesVirtualDirectory -Server $dstserver | Set-WebServicesVirtualDirectory -ExternalUrl $src_ews.ExternalUrl
Write-Host "Setting MAPI vDir"
if($src_map.InternalUrl -notmatch $srcserver){Get-MapiVirtualDirectory -Server $dstserver | Set-MapiVirtualDirectory -InternalUrl $src_map.InternalUrl}
Get-MapiVirtualDirectory -Server $dstserver | Set-MapiVirtualDirectory -ExternalUrl $src_map.ExternalUrl
Write-Host "Setting EAS vDir"
if($src_act.InternalUrl -notmatch $srcserver){Get-ActiveSyncVirtualDirectory -Server $dstserver | Set-ActiveSyncVirtualDirectory -InternalUrl $src_act.InternalUrl}
Get-ActiveSyncVirtualDirectory -Server $dstserver | Set-ActiveSyncVirtualDirectory -ExternalUrl $src_act.ExternalUrl
Write-Host "Setting OAB vDir"
if($src_oab.InternalUrl -notmatch $srcserver){Get-OabVirtualDirectory -Server $dstserver | Set-OabVirtualDirectory -InternalUrl $src_oab.InternalUrl}
Get-OabVirtualDirectory -Server $dstserver | Set-OabVirtualDirectory -ExternalUrl $src_oab.ExternalUrl
Write-Host "Setting OWA vDir"
if($src_owa.InternalUrl -notmatch $srcserver){Get-OwaVirtualDirectory -Server $dstserver | Set-OwaVirtualDirectory -InternalUrl $src_owa.InternalUrl}
Get-OwaVirtualDirectory -Server $dstserver | Set-OwaVirtualDirectory -ExternalUrl $src_owa.ExternalUrl
Write-Host "Setting AutoDiscoverServiceInternalUri"
if($src_cas.AutoDiscoverServiceInternalUri -notmatch $srcserver){Get-ClientAccessService $dstserver | Set-ClientAccessService -AutoDiscoverServiceInternalUri $src_cas.AutoDiscoverServiceInternalUri}Viel Erfolg damit 🙂

von