This post consists of some notes that I took during the installation of Exchange Server 2007 SP1 (Integrated) into a Windows Server 2008 Active Directory Environment (green field, clean installation of everything). The AD environment was created on RC1 bits of Longhorn with 2008 Forest Functional Level during the DCPromo process. The lab consists of two servers: 1 DC and 1 Exchange Server.
Install PowerShell Feature on both DC and Exchange Servers using the Server Manager - "Add Features" tool.
ForestPrep and DomainPrep are no longer command line options in the Exchange setup process. To build out the domain, run the following procedures on the domain controller:
SETUP /PrepareLegacyExchangePermissions:WS08.domain.comSETUP /PrepareSchemaSETUP /PrepareAD /OrganizationName:WS08MailSETUP /PrepareDomain:WS08.domain.com
On the Exchange Server, add the web server role for IIS and ensure the following features are enabled:
Note that NNTP and SMTP are not required (and must not be installed). Run a customized Exchange setup, configured for Mailbox, Hub Transport, and CAS roles. Exchange performs a series of readiness checks and should provide ample instructions for installing or configuring any missing compoenents.
Configure the Client Access Service
Set-OWAVirtualDirectory -Identity "[ServerName]\owa (Default Web Site)" -ChangePasswordEnabled:$false -ExternalUrl "{URL}" -DefaultDomain [FQDN] -LogonFormat UserName -FormsAuthentication:$true
iisreset /noforce
Set-ExchangeServer -Identity [ServerName] -ProductKey "[Enter Product Key" -ErrorReportingEnabled:$true
Enable-OutlookAnywhere -Server [HostName] -ExternalAuthenticationMethod Basic -ExternalHostname [FQDN] -SSLOffloading:$false
Get-OabVirtualDirectory | where { $_.Server -eq [ServerName] } | Set-OabVirtualDirectory -ExternalUrl http://[FQDN]/OAB -RequireSSL:$true
Get-WebServicesVirtualDirectory | where { $_.Server -eq [ServerName] | Set-WebServicesVirtualDirectory -ExternalUrl https://[FQDN]/EWS/Exchange.asmx -BasicAuthentication:$true
New-ExchangeCertificate -GenerateRequest:$true -DomainName "[FQDN of Host]", "autodiscover.[FQDN]", "[FQDN]" -FriendlyName "[ServerName] cas cert request" -SubjectName "LegacyName" -Path "C`:`\[ServerName].req" -Keysize 1024
Configure the Hub Transport
Get-ReceiveConnector -Server [ServerName] | Set-ReceiveConnector -PermissionGroups AnonymousUsers,ExchangeUsers,ExchangeServers
$transportServers = Get-ExchangeServer | where { $_.IsHubTransportServer -eq $true }Set-SendConnector "General Send Connector" -SourceTransportServers $transportServers