Exchange Server 2019 Kurulum Serisi
Bölüm 5: Exchange Konfigürasyonu
Kurulu Exchange Server 2019'u kullanıma hazır hale getireceğiz. Sırasıyla: Accepted Domain tanımı, e-posta adresi politikası, internet posta akışı için Send Connector ve son olarak OWA/ECP/EWS/OAB/Autodiscover virtual directory URL'lerini dış erişime uygun şekilde yapılandıracağız.
Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn komutuyla Exchange snap-in'i yükleyebilirsiniz.
1. Yapılandırma Planı
Kurulum sonrası Exchange, yalnızca iç domain (sirket.local) için e-posta alıp gönderebilecek şekilde yapılandırılmıştır. Kullanıcılara @sirket.com adresi atanması ve internet posta akışının sağlanması için aşağıdaki dört yapılandırma adımını tamamlamanız gerekir:
2. Accepted Domain Tanımı
Exchange'e hangi e-posta domain'lerini kabul edeceğini söylememiz gerekir. Varsayılan olarak yalnızca sirket.local (kurulum sırasında AD domain adından otomatik eklenen) mevcuttur. Kullanıcılara @sirket.com adresi atayabilmek için bu domain'i eklememiz gerekir.
Get-AcceptedDomain | Select-Object Name, DomainName, DomainType, Default
New-AcceptedDomain -Name "sirket.com" -DomainName "sirket.com" -DomainType Authoritative
Eklendikten sonra doğrulayın:
Get-AcceptedDomain | Select-Object Name, DomainName, DomainType, Default
- Authoritative: Bu domain için Exchange yetkilidir; bilinmeyen alıcılara NDR gönderilir.
- InternalRelay: Exchange bu domain için e-posta kabul eder ama başka bir sisteme iletir.
- ExternalRelay: Exchange bu domain için relay yapar; dışarıya iletir.
Birden fazla domain kullanıyorsanız ve sirket.com'u varsayılan yapmak istiyorsanız:
Set-AcceptedDomain -Identity "sirket.com" -MakeDefault $true
3. E-posta Adresi Politikası (Email Address Policy)
E-posta adresi politikası, Exchange'in kullanıcılara otomatik olarak hangi formatta e-posta adresi atayacağını belirler. Bu politika olmadan her kullanıcıya adresi tek tek atamak gerekir.
Get-EmailAddressPolicy | Select-Object Name, EnabledEmailAddressTemplates, Priority
Varsayılan politika %1g%s şablonunu kullanır (adın ilk harfi + soyadı). Bunu @sirket.com uzantılı olarak güncelleyeceğiz.
Kullanıcılara ad.soyad@sirket.com formatında adres atanması için:
Set-EmailAddressPolicy -Identity "Default Policy" `
-EnabledEmailAddressTemplates "SMTP:%g.%s@sirket.com","smtp:%m@sirket.local"
| Şablon | Açıklama | Örnek |
|---|---|---|
%g.%s |
Ad.Soyad (birincil adres — büyük SMTP) | ali.yilmaz@sirket.com |
%1g%s |
AdınİlkHarfiSoyad | ayilmaz@sirket.com |
%m |
SamAccountName (alias) | aliy@sirket.local |
SMTP: birincil adresi tanımlar (gönderim ve alım). Küçük harfli smtp: ikincil proxy adresidir (yalnızca alım).
Politikayı güncelledikten sonra mevcut posta kutusu kullanıcılarına uygulamak için:
Update-EmailAddressPolicy -Identity "Default Policy"
İşlemin tamamlanıp tamamlanmadığını kontrol edin:
Get-EmailAddressPolicy -Identity "Default Policy" | Select-Object LastUpdatedRecipientFilter
@sirket.com olarak güncellenmiş olacaktır.
4. Send Connector (İnternet Posta Çıkışı)
Exchange'in dış dünyaya e-posta gönderebilmesi için bir Send Connector tanımlanması gerekir. Bu connector, hangi domain'lere posta gönderileceğini ve posta akışının nasıl yönlendirileceğini belirler.
Get-SendConnector | Select-Object Name, AddressSpaces, Enabled
Yeni kurulumda genellikle hiçbir Send Connector tanımlı değildir.
New-SendConnector -Name "Internet Send Connector" `
-AddressSpaces "SMTP:*;1" `
-Internet `
-SourceTransportServers MAIL01
| Parametre | Açıklama |
|---|---|
-AddressSpaces "SMTP:*;1" |
Tüm SMTP domain'lerine posta gönder (öncelik: 1) |
-Internet |
MX kaydını sorgulayarak doğrudan teslim et (smart host yok) |
-SourceTransportServers |
Bu connector'ı kullanacak Exchange sunucusu |
-Internet yerine -SmartHosts "mail.isp.com.tr" parametresini kullanın. Kurumsal ortamlarda spam filtreleme için smart host tercih edilebilir.
Get-SendConnector "Internet Send Connector" |
Select-Object Name, AddressSpaces, DNSRoutingEnabled, Enabled, SourceTransportServers
5. Virtual Directory URL Yapılandırması
Exchange kurulumu sonrası virtual directory URL'leri varsayılan olarak sunucu adını (örn. https://MAIL01/owa) kullanır. Dış kullanıcıların https://mail.sirket.com/owa gibi anlamlı bir adresle erişmesi için bu URL'lerin güncellenmesi gerekir.
# OWA
Get-OwaVirtualDirectory -Server MAIL01 | Select-Object Name, InternalUrl, ExternalUrl
# ECP (Exchange Admin Center)
Get-EcpVirtualDirectory -Server MAIL01 | Select-Object Name, InternalUrl, ExternalUrl
# EWS (Exchange Web Services)
Get-WebServicesVirtualDirectory -Server MAIL01 | Select-Object Name, InternalUrl, ExternalUrl
# OAB (Offline Address Book)
Get-OabVirtualDirectory -Server MAIL01 | Select-Object Name, InternalUrl, ExternalUrl
# EAS (Exchange ActiveSync)
Get-ActiveSyncVirtualDirectory -Server MAIL01 | Select-Object Name, InternalUrl, ExternalUrl
# Autodiscover
Get-AutodiscoverVirtualDirectory -Server MAIL01 | Select-Object Name, InternalUrl, ExternalUrl
Aşağıdaki komutlar tüm virtual directory'lerin iç ve dış URL'lerini tek seferde yapılandırır. mail.sirket.com adresini kendi ortamınızdaki DNS adıyla değiştirin:
$fqdn = "mail.sirket.com"
# OWA
Set-OwaVirtualDirectory -Identity "MAIL01\owa (Default Web Site)" `
-InternalUrl "https://$fqdn/owa" `
-ExternalUrl "https://$fqdn/owa"
# ECP
Set-EcpVirtualDirectory -Identity "MAIL01\ecp (Default Web Site)" `
-InternalUrl "https://$fqdn/ecp" `
-ExternalUrl "https://$fqdn/ecp"
# EWS
Set-WebServicesVirtualDirectory -Identity "MAIL01\EWS (Default Web Site)" `
-InternalUrl "https://$fqdn/EWS/Exchange.asmx" `
-ExternalUrl "https://$fqdn/EWS/Exchange.asmx"
# OAB
Set-OabVirtualDirectory -Identity "MAIL01\OAB (Default Web Site)" `
-InternalUrl "https://$fqdn/OAB" `
-ExternalUrl "https://$fqdn/OAB"
# EAS (ActiveSync)
Set-ActiveSyncVirtualDirectory -Identity "MAIL01\Microsoft-Server-ActiveSync (Default Web Site)" `
-InternalUrl "https://$fqdn/Microsoft-Server-ActiveSync" `
-ExternalUrl "https://$fqdn/Microsoft-Server-ActiveSync"
# Autodiscover
Set-AutodiscoverVirtualDirectory -Identity "MAIL01\Autodiscover (Default Web Site)" `
-InternalUrl "https://$fqdn/Autodiscover/Autodiscover.xml" `
-ExternalUrl "https://$fqdn/Autodiscover/Autodiscover.xml"
# MAPI Virtual Directory
Set-MapiVirtualDirectory -Identity "MAIL01\mapi (Default Web Site)" `
-InternalUrl "https://$fqdn/mapi" `
-ExternalUrl "https://$fqdn/mapi"
Tüm URL'lerin doğru şekilde ayarlandığını toplu olarak kontrol edin:
Write-Host "`n--- OWA ---"
Get-OwaVirtualDirectory -Server MAIL01 | Select-Object InternalUrl, ExternalUrl
Write-Host "`n--- ECP ---"
Get-EcpVirtualDirectory -Server MAIL01 | Select-Object InternalUrl, ExternalUrl
Write-Host "`n--- EWS ---"
Get-WebServicesVirtualDirectory -Server MAIL01 | Select-Object InternalUrl, ExternalUrl
Write-Host "`n--- OAB ---"
Get-OabVirtualDirectory -Server MAIL01 | Select-Object InternalUrl, ExternalUrl
Write-Host "`n--- EAS ---"
Get-ActiveSyncVirtualDirectory -Server MAIL01 | Select-Object InternalUrl, ExternalUrl
Write-Host "`n--- MAPI ---"
Get-MapiVirtualDirectory -Server MAIL01 | Select-Object InternalUrl, ExternalUrl
6. IIS ve Uygulama Havuzlarını Yeniden Başlatma
Virtual directory URL değişikliklerinin etkili olması için IIS'in yeniden başlatılması gerekir:
# IIS'i yeniden başlat
iisreset /noforce
# Veya PowerShell ile:
Restart-Service W3SVC, WAS -Force
7. Autodiscover DNS Kaydı
Outlook ve mobil istemcilerin Exchange ayarlarını otomatik bulabilmesi için DNS'e bir Autodiscover kaydı eklenmesi gerekir.
DC01 sunucusunda (Domain Controller) PowerShell ile DNS kaydı ekleyin:
# DC01 üzerinde çalıştırın
Add-DnsServerResourceRecordCName `
-Name "autodiscover" `
-HostNameAlias "mail.sirket.com" `
-ZoneName "sirket.com"
Alternatif olarak, DNS Manager GUI üzerinden:
- Server Manager → Tools → DNS
- Forward Lookup Zones → sirket.com
- Sağ tık → New Alias (CNAME)
- Alias name:
autodiscover - FQDN:
mail.sirket.com
autodiscover.sirket.com → mail.sirket.com CNAME kaydı eklemeniz gerekir.
8. Konfigürasyon Özet Tablosu
| Bileşen | Ayar | Değer |
|---|---|---|
| Accepted Domain | sirket.com | Authoritative |
| Email Address Policy | Birincil adres şablonu | %g.%s@sirket.com |
| Send Connector | İnternet hedefi | SMTP:*;1 (DNS routing) |
| OWA URL | İç / Dış | https://mail.sirket.com/owa |
| ECP URL | İç / Dış | https://mail.sirket.com/ecp |
| EWS URL | İç / Dış | https://mail.sirket.com/EWS/Exchange.asmx |
| OAB URL | İç / Dış | https://mail.sirket.com/OAB |
| EAS URL | İç / Dış | https://mail.sirket.com/Microsoft-Server-ActiveSync |
| Autodiscover | CNAME | autodiscover.sirket.com → mail.sirket.com |
9. Konfigürasyon Sonrası Kontrol Listesi
- sirket.com Accepted Domain eklendi ve Authoritative olarak doğrulandı
- Email Address Policy güncellendi ve tüm posta kutularına uygulandı
- Send Connector oluşturuldu ve etkin durumda
- Tüm Virtual Directory URL'leri mail.sirket.com ile güncellendi
- IIS yeniden başlatıldı
- Autodiscover DNS kaydı iç DNS'e eklendi
- OWA ve ECP web arayüzlerine tarayıcıdan erişim test edildi
- Test kullanıcısıyla OWA oturumu açıldı
Bölüm 5 Özeti
- Accepted Domain olarak sirket.com eklendi
- Email Address Policy, ad.soyad@sirket.com formatında güncellendi
- İnternet posta gönderimi için Send Connector oluşturuldu
- OWA, ECP, EWS, OAB, EAS ve Autodiscover virtual directory URL'leri yapılandırıldı
- IIS yeniden başlatılarak değişiklikler etkinleştirildi
- Autodiscover için DNS CNAME kaydı eklendi
Bölüm 6'da Excel dosyasından okuyarak toplu AD kullanıcısı oluşturmayı ve Exchange posta kutularını etkinleştirmeyi PowerShell ile otomatik hale getireceğiz.