Exchange Server Lisanslama ve Sürüm Karşılaştırması
Lisans konusu, Exchange kurulumlarında en çok kafaların karıştığı noktalardan biri. Yıllar içinde onlarca kurumda Exchange kurdum, yönettim ve bir o kadar lisans denetimine hazırlık yaptım. Şunu net söyleyeyim: yanlış lisanslama hem cebinize hem de uyumluluk açısından ciddi sorun çıkarır. Bu yazıda Exchange Server lisans modelini, sürüm farklarını ve gerçek hayatta nasıl seçim yapmanız gerektiğini anlatacağım.
Exchange Server Lisans Modeli Nasıl Çalışır?
Microsoft’un Exchange Server lisanslaması iki katmandan oluşur. Birincisi sunucu lisansı, ikincisi CAL (Client Access License). Sunucu lisansını alıyorsunuz, bu size Exchange’i kurma hakkı veriyor. Ama bu yetmiyor. Sunucuya bağlanan her kullanıcı veya cihaz için ayrıca CAL almanız gerekiyor. Bunu atlayan kurumlar denetimlerde ciddi cezalarla karşılaşıyor.
CAL iki türde geliyor:
- Exchange Standard CAL: Temel e-posta, takvim, kişiler, görevler ve Outlook Web App erişimi
- Exchange Enterprise CAL: Standard CAL’ın üzerine ek olarak In-Place Archive, Data Loss Prevention (DLP), Unified Messaging ve bazı compliance özellikleri
Enterprise CAL, Standard CAL’ın yerine geçmiyor. Üzerine ekleniyor. Yani Enterprise CAL almak için önce Standard CAL’ınızın olması gerekiyor. Bunu bilmeden Enterprise CAL alan kurumlar var, bu yanlış ve eksik bir lisanslama.
Lisans modeli kullanıcı bazlı veya cihaz bazlı olabiliyor. 500 çalışanı olan ama her birinin birden fazla cihaz kullandığı bir kurumda kullanıcı bazlı CAL genellikle daha avantajlı. Buna karşın vardiyalı çalışmanın olduğu ve tek bir terminali birçok kişinin paylaştığı ortamlarda cihaz bazlı CAL mantıklı.
Exchange Server Sürümleri: Standard mı, Enterprise mı?
Sunucu lisansı tarafında iki seçenek var: Standard ve Enterprise. Temel farklar şunlar:
- Exchange Standard: 5 adede kadar mailbox database destekler
- Exchange Enterprise: 100 adede kadar mailbox database destekler
Çoğu KOBİ için Standard yeterli. Ama büyük kurumlar, yüksek erişilebilirlik için Database Availability Group (DAG) kurmak isteyenler veya çok sayıda mailbox database yönetmek zorunda olanlar Enterprise’a geçmek zorunda kalıyor.
Şu soruyu sık alıyorum: “Hocam, 5 database yeter mi?” Yeterlilik, kullanıcı sayısından çok tasarıma bağlı. 2000 kullanıcıyı tek bir database’de de tutabilirsiniz, 5 database’e de dağıtabilirsiniz. Ama performans, yönetilebilirlik ve kurtarma süreleri açısından dağıtık yapı daha sağlıklı.
Exchange 2016 vs 2019: Gerçek Farklar Neler?
Exchange 2013’ü artık konuşmaya gerek yok, support sona erdi. Asıl sorun şu an sahada en çok karşılaştığım durum: Exchange 2016 ile 2019 arasında seçim yapmak ya da 2016’dan 2019’a geçiş planlamak.
Exchange 2019 ile gelen önemli değişiklikler:
- Windows Server Core desteği (GUI olmadan kurulum, daha az saldırı yüzeyi)
- Dinamik bellek limiti kaldırıldı, teorik olarak 256GB RAM’e kadar kullanabilir
- Arama altyapısı yeniden yazıldı, büyük mailbox’larda ciddi performans farkı var
- Calendar özelliklerinde iyileştirmeler
- Modern Authentication desteği daha güçlü
- Microsoft Teams entegrasyonu için daha iyi zemin
Exchange 2016’da kalan ama 2019’da değişen veya kaldırılan:
- Unified Messaging rolü Exchange 2019’da yok. Eğer UM kullanıyorsanız bu ciddi bir sorun. Cloud Voicemail’e geçiş yapmanız gerekiyor ya da üçüncü parti çözüm.
- Public Folder mimarisi her iki sürümde de benzer, ama 2019’daki performans optimizasyonları göz ardı edilemez.
Şu an bir müşteri projesinde Exchange 2016 üzerinden 2019’a geçiş yapıyoruz. Ortamda 1800 kullanıcı var. Geçiş sürecinde şu PowerShell komutlarını sık kullanıyorum:
# Mevcut Exchange ortamınızdaki sürüm bilgilerini görmek için
Get-ExchangeServer | Select-Object Name, AdminDisplayVersion, ServerRole, Edition
# Mailbox database listesi ve hangi sunucuda olduğunu görmek
Get-MailboxDatabase -Status | Select-Object Name, Server, DatabaseSize, MailboxCount
Bu komutların çıktısı size mevcut yapıyı net gösteriyor. Geçiş planlamasında başlangıç noktanız bu olmalı.
Hybrid Yapı ve Lisanslama Nüansları
Birçok kurum tam cloud’a geçemiyor. Bütçe, veri yerelliliği veya yönetim kararları nedeniyle hybrid Exchange kuruyorlar. Burada lisanslama konusunda dikkatli olmak lazım.
Exchange Hybrid için minimum bir Exchange sunucusu on-premise’de çalışıyor olmalı. Bu sunucu mailbox barındırmasa bile lisanslı olması gerekiyor. “Ama kimsenin mailbox’ı yok bu sunucuda, neden lisans alayım?” diye soran yöneticilerle karşılaştım. Microsoft’un cevabı net: hybrid yönetim için bile tam lisans zorunlu.
Bir diğer kritik nokta: Exchange Online kullanan kullanıcılar için on-premise CAL gerekmez. Microsoft 365 veya Exchange Online lisansı olan kullanıcıyı CAL açısından saymazsınız. Karma ortamlarda bu hesabı doğru yapmak lisans maliyetini ciddi ölçüde etkiliyor.
# Hybrid ortamda hangi mailbox'ların cloud'da hangilerinin on-premise'de olduğunu görmek
Get-Mailbox -ResultSize Unlimited | Select-Object DisplayName, RecipientTypeDetails, ServerName | Where-Object {$_.RecipientTypeDetails -eq "UserMailbox"}
# Remote mailbox (cloud'daki) kullanıcıları listelemek
Get-RemoteMailbox -ResultSize Unlimited | Select-Object DisplayName, RemoteRoutingAddress
Lisans Denetimlerine Hazırlık: Sahadan Notlar
Microsoft lisans denetimleri giderek daha sistematik bir hal alıyor. Özellikle kurumsal satın almalarda Software Asset Management (SAM) süreçleri devreye giriyor. Hazırlıklı olmak için yapmanız gerekenler:
Envanteri düzenli tutun. Kaç Exchange sunucunuz var, hangi edition ile çalışıyor, kaç mailbox’ınız aktif? Bunları bilmiyorsanız denetim sizi zor durumda bırakır.
# Exchange sunucularının edition bilgisini çekmek
Get-ExchangeServer | Select-Object Name, Edition, AdminDisplayVersion | Format-Table -AutoSize
# Aktif mailbox sayısını hesaplamak (devre dışı ve kaynaklar dahil)
Get-Mailbox -ResultSize Unlimited | Group-Object RecipientTypeDetails | Select-Object Name, Count
# Sadece aktif kullanıcı mailbox sayısı
Get-Mailbox -ResultSize Unlimited -Filter {RecipientTypeDetails -eq "UserMailbox"} | Measure-Object | Select-Object Count
Deaktif hesapları temizleyin. Şirketten ayrılan çalışanların mailbox’larını ne yapıyorsunuz? Eğer disabled account’a bağlı mailbox Exchange üzerinde duruyorsa, teknik olarak hala CAL gerektiriyor. Archive veya export edip kaldırın.
# Disabled kullanıcılara ait mailbox'ları bulmak
Get-Mailbox -ResultSize Unlimited | ForEach-Object {
$user = Get-User $_.Identity -ErrorAction SilentlyContinue
if ($user.UserAccountControl -match "AccountDisabled") {
[PSCustomObject]@{
DisplayName = $_.DisplayName
Database = $_.Database
AccountStatus = "Disabled"
}
}
} | Export-Csv "disabled_mailboxes.csv" -NoTypeInformation -Encoding UTF8
Bu script biraz yavaş çalışır büyük ortamlarda, ama çıktı lisans denetimi hazırlığında çok işinize yarar.
Yeni Sürüm Seçerken Dikkat Edilmesi Gerekenler
Exchange 2019’u tercih edecekseniz, önce altyapınızın hazır olup olmadığına bakmanız lazım.
Sistem gereksinimleri açısından:
- Exchange 2019 yalnızca Windows Server 2019 ve 2022 üzerinde çalışıyor
- Minimum 128GB RAM öneriliyor (bu ciddi bir donanım yatırımı demek)
- .NET Framework 4.8 zorunlu
- Active Directory tarafında domain functional level 2012 R2 veya üstü olmalı
Exchange 2016 için gereksinimler daha esnek:
- Windows Server 2016 üzerinde çalışıyor
- 64GB RAM ile başlayabilirsiniz
- Domain functional level 2008 R2 ile de ayağa kaldırılabilir
Peki hangisini seçin? Eğer sıfırdan kuruyorsanız, doğrudan Exchange 2019’a gidin. Eğer mevcut Exchange 2016 ortamınız kararlı çalışıyorsa ve önünüzde 2 yıldan fazla ömrü varsa, acele etmenize gerek yok. Ama planlama yapın.
Exchange 2016 mainstream support Ekim 2020’de bitti, extended support Ekim 2025’e kadar devam ediyor. Exchange 2019 için extended support 2025 sonrasına uzuyor. Bu tarihler altyapı planlamanızda belirleyici olmalı.
Volume Licensing ile Perakende Lisans Arasındaki Fark
KOBİ’lerden gelen soru bu: “Daha ucuzu var mı?” Evet, var. Microsoft’un Volume Licensing programları özellikle Open License, Open Value ve EA (Enterprise Agreement) seçenekleri kurumsal alımlarda ciddi indirimler sunuyor.
Eğer 250’den az kullanıcınız varsa Open License veya Open Value mantıklı. 250 üstü için Microsoftla doğrudan görüşmeye değer ya da yetkili bir Microsoft partneriyle çalışın.
Software Assurance (SA) konusunu da atlamayalım. SA, lisansınızın üzerine yıllık ödediğiniz bir paket. Karşılığında yeni sürümlere ücretsiz geçiş hakkı, teknik destek ve bazı ek kullanım hakları alıyorsunuz. Exchange 2016 alırken SA eklediyseniz, Exchange 2019’a ücretsiz geçiş hakkınız var. Bu hesabı doğru yapmak uzun vadede büyük tasarruf sağlıyor.
PowerShell ile Lisans Uyumluluğunu İzleme
Proaktif olmak şart. Beklemeden, her ay düzenli olarak şu bilgileri bir rapora dökmek iyi bir alışkanlık:
# Kapsamlı mailbox raporu oluşturma
Get-Mailbox -ResultSize Unlimited | Select-Object DisplayName,
RecipientTypeDetails,
Database,
@{Name="EmailAddresses"; Expression={$_.EmailAddresses -join "; "}} |
Export-Csv "monthly_mailbox_report_$(Get-Date -Format 'yyyyMM').csv" -NoTypeInformation -Encoding UTF8
# Her database'deki mailbox sayısını özetleme
Get-MailboxDatabase | ForEach-Object {
$db = $_
$count = (Get-Mailbox -Database $db.Name -ResultSize Unlimited | Measure-Object).Count
[PSCustomObject]@{
Database = $db.Name
Server = $db.Server
MailboxCount = $count
}
} | Format-Table -AutoSize
Bu raporları bir ticketing sistemine veya Wiki’ye kaydedin. Denetim anında “işte geçen 12 aydaki kayıtlarımız” diyebilmek hem profesyonellik göstergesi hem de hukuki korumanız.
Exchange Subscription Policy: 2020 Sonrası Değişen Oyun
Microsoft 2020’de önemli bir politika değişikliği yaptı: Exchange Server’ı güncel tutmak artık zorunlu hale geldi. Eski alışkanlık olan “bir kez kur, yıllarca dokunma” devri bitiyor.
Exchange 2016 ve 2019 için en az 1 yıl içinde çıkmış bir Cumulative Update (CU) kullanmanız gerekiyor. Aksi halde Microsoft teknik destek vermiyor. Daha da önemlisi, bazı hybrid özellikler eski CU’larda çalışmıyor.
CU durumunuzu kontrol etmek için:
# Mevcut CU ve build numarasını öğrenmek
Get-Command ExSetup | ForEach-Object {$_.FileVersionInfo} | Select-Object FileVersion, ProductVersion
# Tüm Exchange sunucularının build bilgisini listelemek
Get-ExchangeServer | Select-Object Name, AdminDisplayVersion, Edition, ServerRole
Bu build numarasını Microsoft’un resmi Exchange build listesiyle karşılaştırın. Eğer 12 aydan eski bir CU üzerindeysaniz, güncelleme planınızı hemen yapın.
Sonuç
Exchange Server lisanslaması, ilk bakışta basit görünen ama içine girince katman katman açılan bir konu. Sunucu lisansı, CAL, Standard vs Enterprise ayrımı, hybrid ortamdaki nüanslar, Software Assurance hesabı ve şimdilerde gelen “güncel kalma zorunluluğu” bir arada ele alınmadığında ciddi hatalar yapılıyor.
Sahada gördüğüm en yaygın iki hata şunlar: birincisi Enterprise CAL almadan önce Standard CAL’ı ihmal etmek, ikincisi şirketten ayrılan çalışanların mailbox’larını temizlemeden CAL sayısını olduğundan yüksek tutmak. Her ikisi de hem bütçeye hem uyumluluk durumuna zarar veriyor.
Sıfırdan kuruyorsanız Exchange 2019 tercih edin, donanım yatırımını buna göre yapın. Mevcut 2016 ortamınız varsa 2025 extended support bitimine kadar planınızı netleştirin ve SA durumunuzu gözden geçirin. Hybrid’e geçmeyi düşünüyorsanız, on-premise taraftaki lisanslamayı ihmal etmeyin.
Lisans meselesini bir “zorunluluk” olarak değil, altyapınızı doğru planlamanın bir parçası olarak görün. Düzgün lisanslanmış ve belgelenmiş bir Exchange ortamı, hem denetimlerde hem de kriz anlarında size büyük avantaj sağlar.
