Quantcast
Channel: virtualbarrymartin.me » Microsoft
Viewing all articles
Browse latest Browse all 4

How to setup Exchange 2007 to use a single certificate for internal and external use

$
0
0

Here is the old PowerShell script for Exchange 2007 from the http://www.exchangeninjas.com site that is down now.

Use at your own risk.  I used this PowerShell script for years and it always worked great.

# Script to allow you to set all virtual directories to a common name like mail.company.com

Start-Transcript

# Variables

[string]$UMExtend = “/UnifiedMessaging/Service.asmx”

[string]$OABExtend = “/OAB”

[string]$SCPExtend = “/Autodiscover/Autodiscover.xml”

[string]$EWSExtend = “/EWS/Exchange.asmx”

[string]$ConfirmPrompt = “Set this Value? (Y/N)”

[string]$NoChangeForeground = “white”

[string]$NoChangeBackground = “red”

Write-host “This will allow you to set the virtual directories associated with Autodiscover provided services to the name you provide.”

Write-host “”

[string]$base = Read-host “Base name of virtual directory (e.g. mail.company.com)”

write-host “”

# =======================================================

# Validate if a third party trusted certificate is being used

# because BITS won’t use untrusted certificates

[string]$set = Read-host “Is the certificate being used an internally generated certificate? (Y/N)”

Write-host “”

if ($set -eq “Y”) {

[string]$OABprefix = “http://”

} else {

[string]$OABprefix = “https://”

}

# =======================================================

# Build the Autodiscover URL and set the SCP Value

Write-host “Setting Autodiscover Service Connection Point” -foregroundcolor Yellow

write-host “”

$SCPURL = “https://” + $base + $SCPExtend

[array]$SCPCurrent = Get-ClientAccessServer

Foreach ($value in $SCPCurrent) {

Write-host “Looking at Server: ” $value.name

Write-host “Current SCP value: ” $value.AutoDiscoverServiceInternalUri.absoluteuri

Write-host “New SCP Value: ” $SCPURL

[string]$set = Read-host $ConfirmPrompt

write-host “”

if ($set -eq “Y”) {

Set-ClientAccessServer -id $value.identity -AutoDiscoverServiceInternalUri $SCPURL

} else {

write-host “Autodiscover Service Connection Point internal value NOT changed” -foregroundcolor $NoChangeForeground -backgroundcolor $NoChangeBackground

}

}

# =======================================================

# Build the EWS URL and set the internal Value

Write-host “Setting Exchange Web Services Virtual Directories” -foregroundcolor Yellow

write-host “”

$EWSURL = “https://” + $base + $EWSExtend

[array]$EWSCurrent = Get-WebServicesVirtualDirectory

Foreach ($value in $EWSCurrent) {

Write-host “Looking at Server: ” $value.server

Write-host “Current Internal Value: ” $value.internalURL

Write-host “New Internal Value: ” $EWSUrl

[string]$set = Read-host $ConfirmPrompt

write-host “”

if ($set -eq “Y”) {

Set-WebServicesVirtualDirectory -id $value.identity -InternalURL $EWSURL

} else {

write-host “Exchange Web Services Virtual Directory internal value NOT changed” -foregroundcolor $NoChangeForeground -backgroundcolor $NoChangeBackground

}

Write-host “Looking at Server: ” $value.server

Write-host “Current External Value: ” $value.externalURL

Write-host “New External Value: ” $EWSUrl

[string]$set = Read-host $ConfirmPrompt

write-host “”

if ($set -eq “Y”) {

Set-WebServicesVirtualDirectory -id $value.identity -ExternalURL $EWSURL

} else {

write-host “Exchange Web Services Virtual Directory external value NOT changed” -foregroundcolor $NoChangeForeground -backgroundcolor $NoChangeBackground

}

}

# ======================================================

# Build the OAB URL and set the internal Value

Write-host “Setting OAB Virtual Directories” -foregroundcolor Yellow

write-host “”

$OABURL = $OABprefix + $base + $OABExtend

[array]$OABCurrent = Get-OABVirtualDirectory

Foreach ($value in $OABcurrent) {

Write-host “Looking at Server: ” $value.server

Write-host “Current Internal Value: ” $value.internalURL

Write-host “New Internal Value: ” $OABUrl

[string]$set = Read-host $ConfirmPrompt

write-host “”

if ($set -eq “Y”) {

Set-OABVirtualDirectory -id $value.identity -InternalURL $OABURL

} else {

write-host “OAB Virtual Directory internal value NOT changed” -foregroundcolor $NoChangeForeground -backgroundcolor $NoChangeBackground

}

Write-host “Looking at Server: ” $value.server

Write-host “Current External Value: ” $value.externalURL

Write-host “New External Value: ” $OABUrl

[string]$set = Read-host $ConfirmPrompt

write-host “”

if ($set -eq “Y”) {

Set-OABVirtualDirectory -id $value.identity -ExternalURL $OABURL

} else {

write-host “OAB Virtual Directory external value NOT changed” -foregroundcolor $NoChangeForeground -backgroundcolor $NoChangeBackground

}

}

# =======================================================

# Build the UM URL and set the internal Value

Write-host “Setting UM Virtual Directories” -foregroundcolor Yellow

write-host “”

$UMURL = “https://” + $base + $UMExtend

[array]$UMCurrent = Get-UMVirtualDirectory

foreach ($value in $UMCurrent) {

Write-host “Looking at Server: ” $value.server

Write-host “Current Internal Value: ” $value.internalURL

Write-host “New Internal Value: ” $UMUrl

[string]$set = Read-host $ConfirmPrompt

write-host “”

if ($set -eq “Y”) {

Set-UMVirtualDirectory -id $value.identity -InternalURL $UMURL

} else {

write-host “UM Virtual Directory internal value NOT changed” -foregroundcolor $NoChangeForeground -backgroundcolor $NoChangeBackground

}

Write-host “Looking at Server: ” $value.server

Write-host “Current External Value: ” $value.externalURL

Write-host “New External Value: ” $UMUrl

[string]$set = Read-host $ConfirmPrompt

write-host “”

if ($set -eq “Y”) {

Set-UMVirtualDirectory -id $value.identity -ExternalURL $UMURL

} else {

write-host “UM Virtual Directory external value NOT changed” -foregroundcolor $NoChangeForeground -backgroundcolor $NoChangeBackground

}

}

Stop-Transcript



Viewing all articles
Browse latest Browse all 4

Latest Images

Trending Articles





Latest Images