Exchange Server 2019 Windows Server 2022 PowerShell  |  Okuma süresi: ~16 dakika

Exchange Server 2019 Kurulum Serisi
Bölüm 5: Exchange Konfigürasyonu

Bu bölümde neler yapacaksınız?
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.
? Seri Navigasyonu: Bölüm 1 – Ortam Hazırlığı  |  Bölüm 2 – Active Directory Kurulumu  |  Bölüm 3 – Exchange Ön Gereksinimleri  |  Bölüm 4 – Exchange Kurulumu  |  Bölüm 5 – Exchange Konfigürasyonu ← (şu an buradasınız)  |  Bölüm 6 – Toplu Kullanıcı Oluşturma
ℹ️ Bu bölümdeki tüm komutlar MAIL01 üzerinde, Exchange Management Shell (EMS) içinde çalıştırılmalıdır. EMS'yi açmak için: Başlat → Microsoft Exchange Server 2019 → Exchange Management Shell. Alternatif olarak normal PowerShell'den 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:

[1] Accepted Domain → sirket.com domain'ini Exchange'e tanıt ↓ [2] Email Address Policy → Kullanıcılara otomatik @sirket.com adresi ata ↓ [3] Send Connector → İnternet'e e-posta gönderebilmek için çıkış yolu tanımla ↓ [4] Virtual Directory URLs → OWA/ECP/EWS adresleri dışarıdan erişilebilir olsun

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.

Adım 2.1 — Mevcut Accepted Domain'leri Görüntüle
Get-AcceptedDomain | Select-Object Name, DomainName, DomainType, Default
Name DomainName DomainType Default ---- ---------- ---------- ------- sirket.local sirket.local Authoritative True
Adım 2.2 — sirket.com Domain'ini Ekle
New-AcceptedDomain -Name "sirket.com" -DomainName "sirket.com" -DomainType Authoritative

Eklendikten sonra doğrulayın:

Get-AcceptedDomain | Select-Object Name, DomainName, DomainType, Default
Name DomainName DomainType Default ---- ---------- ---------- ------- sirket.local sirket.local Authoritative True sirket.com sirket.com Authoritative False
ℹ️ DomainType Açıklamaları:
  • 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.
Adım 2.3 — Varsayılan Domain'i Değiştir (İsteğe Bağlı)

Birden fazla domain kullanıyorsanız ve sirket.com'u varsayılan yapmak istiyorsanız:

Set-AcceptedDomain -Identity "sirket.com" -MakeDefault $true
⚠️ Bu işlem mevcut e-posta politikalarını etkileyebilir. Yalnızca ihtiyaç duyulduğunda yapın.

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.

Adım 3.1 — Mevcut Politikayı Görüntüle
Get-EmailAddressPolicy | Select-Object Name, EnabledEmailAddressTemplates, Priority
Name EnabledEmailAddressTemplates Priority ---- ---------------------------- -------- Default Policy {SMTP:%1g%s@sirket.local,...} Lowest

Varsayılan politika %1g%s şablonunu kullanır (adın ilk harfi + soyadı). Bunu @sirket.com uzantılı olarak güncelleyeceğiz.

Adım 3.2 — Politikayı Güncelle

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"
ŞablonAçı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
ℹ️ Büyük/Küçük SMTP: Büyük harfli SMTP: birincil adresi tanımlar (gönderim ve alım). Küçük harfli smtp: ikincil proxy adresidir (yalnızca alım).
Adım 3.3 — Politikayı Mevcut Kullanıcılara Uygula

Politikayı güncelledikten sonra mevcut posta kutusu kullanıcılarına uygulamak için:

Update-EmailAddressPolicy -Identity "Default Policy"
WARNING: A request to apply e-mail address policy 'Default Policy' to all matching recipients has been submitted. The time to complete this task depends on the number of recipients. Track the progress using Get-EmailAddressPolicy.

İşlemin tamamlanıp tamamlanmadığını kontrol edin:

Get-EmailAddressPolicy -Identity "Default Policy" | Select-Object LastUpdatedRecipientFilter
✅ Update-EmailAddressPolicy tamamlandıktan sonra tüm posta kutusu kullanıcılarının birincil adresi @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.

Adım 4.1 — Mevcut Send Connector'ları Kontrol Et
Get-SendConnector | Select-Object Name, AddressSpaces, Enabled

Yeni kurulumda genellikle hiçbir Send Connector tanımlı değildir.

Adım 4.2 — İnternet Send Connector Oluştur
New-SendConnector -Name "Internet Send Connector" `
    -AddressSpaces "SMTP:*;1" `
    -Internet `
    -SourceTransportServers MAIL01
ParametreAçı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
ℹ️ Smart Host Kullanımı: ISP veya relay sunucusu üzerinden posta gönderecekseniz -Internet yerine -SmartHosts "mail.isp.com.tr" parametresini kullanın. Kurumsal ortamlarda spam filtreleme için smart host tercih edilebilir.
Adım 4.3 — Send Connector'ı Doğrula
Get-SendConnector "Internet Send Connector" |
    Select-Object Name, AddressSpaces, DNSRoutingEnabled, Enabled, SourceTransportServers
Name : Internet Send Connector AddressSpaces : {SMTP:*;1} DNSRoutingEnabled : True Enabled : True SourceTransportServers : {MAIL01}

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.

Adım 5.1 — Mevcut Virtual Directory URL'lerini Görüntüle
# 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
Adım 5.2 — Tüm Virtual Directory URL'lerini Güncelle

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 (Outlook Anywhere): Exchange 2019 ile Outlook bağlantısı artık MAPI over HTTP üzerinden çalışır. Outlook Anywhere (RPC over HTTP) kaldırılmıştır. Outlook 2016 ve üzeri istemciler otomatik olarak doğru protokolü kullanır.
Adım 5.3 — Outlook Anywhere / MAPI URL Güncelleme
# MAPI Virtual Directory
Set-MapiVirtualDirectory -Identity "MAIL01\mapi (Default Web Site)" `
    -InternalUrl "https://$fqdn/mapi" `
    -ExternalUrl "https://$fqdn/mapi"
Adım 5.4 — Yapılandırmayı Doğrula

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
--- OWA --- InternalUrl ExternalUrl ----------- ----------- https://mail.sirket.com/owa https://mail.sirket.com/owa --- ECP --- https://mail.sirket.com/ecp https://mail.sirket.com/ecp --- EWS --- https://mail.sirket.com/EWS/Exchange.asmx https://mail.sirket.com/EWS/Exchange.asmx --- OAB --- https://mail.sirket.com/OAB https://mail.sirket.com/OAB --- EAS --- https://mail.sirket.com/Microsoft-Server-ActiveSync https://mail.sirket.com/Microsoft-Server-ActiveSync --- MAPI --- https://mail.sirket.com/mapi https://mail.sirket.com/mapi

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:

Adım 6.1 — IIS Yeniden Başlatma
# IIS'i yeniden başlat
iisreset /noforce

# Veya PowerShell ile:
Restart-Service W3SVC, WAS -Force
Attempting stop... Internet services successfully stopped Attempting start... Internet services successfully restarted

7. Autodiscover DNS Kaydı

Outlook ve mobil istemcilerin Exchange ayarlarını otomatik bulabilmesi için DNS'e bir Autodiscover kaydı eklenmesi gerekir.

Adım 7.1 — DC01 Üzerinde DNS Kaydı Oluşturma

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:

  1. Server Manager → Tools → DNS
  2. Forward Lookup Zones → sirket.com
  3. Sağ tık → New Alias (CNAME)
  4. Alias name: autodiscover
  5. FQDN: mail.sirket.com
ℹ️ İç vs. Dış DNS: Bu kaydı iç DNS'e (DC01) ekliyoruz. İnternet'ten Autodiscover için dış DNS'inize de 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ı
✅ Bu adımları tamamladıktan sonra Exchange ortamı posta kutusu oluşturmaya ve kullanıcı yönetimine hazır durumdadır.

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
Sonraki Bölüm: Toplu Kullanıcı Oluşturma →
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.