Exchange Admin Center ile Temel Yönetim İşlemleri
Yıllar önce bir Exchange kurulumu sırasında yeni bir yöneticiye “EAC’yi açtım ama nereden başlayacağımı bilemedim” demesini hatırlıyorum. Arayüz ilk bakışta sade görünse de altında ciddi bir güç yatıyor. Exchange Admin Center, doğru kullanıldığında günlük mail yönetimi işlemlerinin büyük çoğunluğunu PowerShell’e dokunmadan halledebileceğiniz bir araç. Bu yazıda sıfırdan değil, kurulum sonrası günlük hayatta gerçekten karşılaştığınız senaryolar üzerinden gideceğiz.
Exchange Admin Center’a Erişim
EAC’ye erişmek için tarayıcınızdan aşağıdaki adresi kullanıyorsunuz:
https://<exchange-sunucu-adi>/ecp
Eğer OWA ile aynı sunucudaysa ve SSL sertifikası düzgün yapılandırılmışsa bu adres doğrudan çalışır. İç ağdan erişirken sertifika uyarısı alıyorsanız, büyük ihtimalle self-signed sertifika kullanıyorsunuzdur. Bunu aşmak için sertifikayı tarayıcıya ekleyebilir ya da domain CA’dan imzalı bir sertifika kullanabilirsiniz.
Exchange 2016 ve 2019 için EAC modern bir web arayüzüne sahip. Exchange 2013’teki gibi Silverlight bağımlılığı yok, standart HTML5 çalışıyor. Ama Internet Explorer ile açmayın, 2024’te bunu söylemek garip geliyor ama hâlâ IE ile açmaya çalışan yöneticilerle karşılaşıyorum.
Oturum açtıktan sonra sol menüde şu ana başlıkları görürsünüz:
- Alıcılar: Kullanıcı posta kutuları, gruplar, kaynaklar, kişiler
- İzinler: Yönetici ve kullanıcı rolleri
- Uyumluluk Yönetimi: Denetim, veri kaybı önleme, saklama
- Organizasyon: Paylaşım, uygulamalar, adres listeleri
- Koruma: Kötü amaçlı yazılım filtresi, bağlantı filtresi
- Posta Akışı: Kurallar, kabul edilen etki alanları, bağlayıcılar
- Mobil: Cihaz erişim kuralları
- Ortak Klasörler: Public folder yönetimi
- Birleşik Mesajlaşma: UM ayarları (Exchange 2016)
- Sunucular: Sunucu, veritabanı, DAG yapılandırması
Posta Kutusu Oluşturma ve Yönetme
En sık yapılan işlemlerden biri yeni kullanıcıya posta kutusu açmak. EAC’de Alıcılar > Posta Kutuları yolunu izliyorsunuz. Sağ üstteki artı (+) ikonuna tıklayıp “Kullanıcı Posta Kutusu” seçiyorsunuz.
Burada dikkat edilmesi gereken nokta: Eğer Active Directory’de kullanıcı zaten varsa “Mevcut kullanıcı” seçeneğiyle bağlıyorsunuz, yoksa yeni kullanıcı oluşturuyorsunuz. İkinci seçenekte AD kullanıcısı da otomatik oluşturulur.
Zorunlu alanlar:
- Ad, Soyadı, Görünen Ad: Bunlar AD’de de oluşacak
- Kullanıcı oturum açma adı: UPN formatında, örneğin [email protected]
- Posta kutusu veritabanı: Birden fazla veritabanınız varsa burada seçim yapıyorsunuz
Posta kutusu oluşturulduktan sonra çift tıklayarak özelliklerine girip detaylı ayarları yapabilirsiniz. Bunların bir kısmını PowerShell ile yapmak çok daha hızlı olsa da EAC üzerinden de yapılabiliyor.
Sık kullanılan posta kutusu ayarları için PowerShell tercih edilebilir. Örneğin yeni bir posta kutusu oluştururken:
New-Mailbox -Name "Ahmet Yılmaz" -UserPrincipalName [email protected] -Password (ConvertTo-SecureString "P@ssw0rd123" -AsPlainText -Force) -FirstName Ahmet -LastName Yılmaz -Database "DB01"
Kotaları toplu ayarlamak gerektiğinde EAC yetersiz kalır. Örneğin tüm kullanıcılara 10GB kota tanımlamak için:
Get-Mailbox -ResultSize Unlimited | Set-Mailbox -ProhibitSendQuota 10GB -ProhibitSendReceiveQuota 11GB -IssueWarningQuota 9GB
EAC üzerinden bunu tek tek yapmanız gerekir, bu yüzden toplu işlemlerde mutlaka PowerShell’e geçin.
Posta Kutusu İzinleri
Gerçek dünyada çok sık karşılaştığım senaryo: Bir yönetici sekreterinin patronunun posta kutusuna erişmesi gerekiyor. EAC’de Alıcılar > Posta Kutuları üzerinden ilgili posta kutusunu seçip sağdaki detay panelinde “Temsilci” bölümüne tıklıyorsunuz.
Burada üç tür izin var:
- Farklı Gönder (Send As): Kullanıcı adına mail atmak için
- Adına Gönder (Send on Behalf): “X adına Y” formatında göndermek için
- Tam Erişim (Full Access): Posta kutusunu tamamen açabilmek için
Aynı işlemi PowerShell ile:
Add-MailboxPermission -Identity "[email protected]" -User "[email protected]" -AccessRights FullAccess -InheritanceType All
Add-RecipientPermission -Identity "[email protected]" -Trustee "[email protected]" -AccessRights SendAs
Dağıtım Grupları ve Dinamik Gruplar
Alıcılar > Gruplar bölümü altında dört tip grup yönetebilirsiniz:
- Dağıtım grupları (klasik e-posta listesi)
- Güvenlik grupları (posta özellikli)
- Dinamik dağıtım grupları (filtre bazlı, otomatik üyelik)
- Microsoft 365 grupları (hybrid ortamlarda)
Dinamik dağıtım grubu özellikle büyük organizasyonlarda hayat kurtarıcı. “İstanbul ofisindeki tüm çalışanlara” ya da “Satış departmanındaki herkese” gibi kriterlerle otomatik oluşturulan listeler. EAC’de oluştururken koşulları tanımlıyorsunuz, Exchange her mail geldiğinde bu koşulları değerlendiriyor.
PowerShell ile dinamik grup oluşturmak:
New-DynamicDistributionGroup -Name "Istanbul Calisanlar" -Alias "istanbul-all" -RecipientFilter {(RecipientType -eq 'UserMailbox') -and (Office -eq 'Istanbul')}
Gruba gelen maillerin kimler tarafından gönderilebileceğini kısıtlamak da sık yapılan bir işlem. EAC’de grubun özelliklerinde Teslimat Yönetimi sekmesini açıyorsunuz. Sadece belirli kişilerin ya da “Yalnızca kuruluş içindeki gönderenler” seçeneğini işaretleyebilirsiniz. Dışarıdan spam geliyorsa bu ayar kurtarıcı oluyor.
Posta Akış Kuralları (Transport Rules)
Bu bölüm benim en çok vakit geçirdiğim yerlerden biri. Posta Akışı > Kurallar altında organizasyonunuzdaki tüm mail trafiğini şekillendiren kurallar tanımlıyorsunuz.
Tipik kullanım senaryoları:
- Belirli büyüklüğün üzerindeki ekleri reddetmek
- Dışarı giden maillere yasal uyarı (disclaimer) eklemek
- Belirli anahtar kelimeler içeren mailleri karantinaya almak
- CEO’ya gelen mailleri bir kopyasını hukuk departmanına iletmek
- Finans departmanından gelen maillere “hassas” etiketi eklemek
EAC’de kural oluştururken önce Koşul (If), sonra İşlem (Then) tanımlıyorsunuz. Ayrıca Özel Durum (Except) ekleyebiliyorsunuz. Arayüz sürükle-bırak mantığıyla çalışıyor, görsel olarak anlaşılır.
Örnek olarak dışarı giden tüm maillere Türkçe yasal uyarı ekleyen bir kural:
New-TransportRule -Name "Disari Giden Maillere Disclaimer" `
-SentToScope NotInOrganization `
-ApplyHtmlDisclaimerLocation Append `
-ApplyHtmlDisclaimerText "<p style='color:gray;font-size:11px'>Bu e-posta ve ekleri gizlidir...</p>" `
-ApplyHtmlDisclaimerFallbackAction Wrap
Büyük dosya eklerini reddetmek için:
New-TransportRule -Name "Buyuk Ekleri Reddet" `
-AttachmentSizeOver 25MB `
-RejectMessageReasonText "Ek boyutu 25MB sınırını aşıyor" `
-RejectMessageEnhancedStatusCode 5.7.1
Kabul Edilen Etki Alanları ve Bağlayıcılar
Posta Akışı > Kabul Edilen Etki Alanları bölümünde Exchange’in mail alacağı domain’leri tanımlıyorsunuz. Üç tip var:
- Yetkili (Authoritative): Exchange bu domain için tek sorumlu, bulamazsa NDR gönderir
- Dahili Geçiş (Internal Relay): Kendi sunucularınız veya başka bir Exchange’e yönlendiriyor
- Harici Geçiş (External Relay): Dışarıdaki bir sunucuya yönlendiriyor
Şirket birleşmesi senaryosunda sık karşılaşılan durum: Satın alınan firmanın domain’ini “Dahili Geçiş” olarak ekleyip mailleri o domain’in sunucularına yönlendirmek.
Bağlayıcılar (Posta Akışı > Bağlayıcılar) ise Exchange’in dışarıyla nasıl konuşacağını belirliyor. Send Connector (Gönderme Bağlayıcısı) ve Receive Connector (Alma Bağlayıcısı) olmak üzere ikiye ayrılıyor.
Pratik bir senaryo: Şirket içindeki bir uygulama (ERP, monitoring sistemi vs.) Exchange üzerinden mail atmak istiyor. Bunun için özel bir Receive Connector oluşturmanız gerekiyor:
New-ReceiveConnector -Name "Uygulama Sunucusu Relay" `
-TransportRole FrontendTransport `
-Custom `
-Bindings 0.0.0.0:2525 `
-RemoteIPRanges 10.10.1.50 `
-AuthMechanism None `
-PermissionGroups AnonymousUsers
Sonra bu connector’a relay iznini veriyorsunuz:
Get-ReceiveConnector "Uygulama Sunucusu Relay" | Add-ADPermission -User "NT AUTHORITYANONYMOUS LOGON" -ExtendedRights ms-Exch-SMTP-Accept-Any-Recipient
Veritabanı Yönetimi
Sunucular > Veritabanları bölümü yönetimin kritik parçalarından biri. Burada her veritabanının boyutunu, bağlı posta kutusu sayısını, kota ayarlarını ve backup durumunu görebilirsiniz.
Veritabanı boyutu büyüdüğünde ve disk dolmaya başladığında yapmanız gereken ilk şey EAC’den veritabanının tam yolunu ve boyutunu kontrol etmek, ardından karar vermek: ya yeni disk ekle, ya yeni veritabanı oluştur ve bazı posta kutularını taşı.
Posta kutusunu bir veritabanından diğerine taşımak EAC üzerinden yapılabiliyor ama onlarca posta kutusunu taşıyacaksanız PowerShell çok daha pratik:
Get-Mailbox -Database "EskiDB" | New-MoveRequest -TargetDatabase "YeniDB" -BatchName "Migrasyon-Batch1"
Taşıma işlemlerinin durumunu kontrol etmek için:
Get-MoveRequest | Get-MoveRequestStatistics | Select DisplayName, Status, PercentComplete, BytesTransferred
DAG (Database Availability Group) kullanıyorsanız, Sunucular > Veritabanı Kullanılabilirlik Grupları bölümünden her kopyasının durumunu takip edebilirsiniz. Yeşil tik her şeyin yolunda olduğunu gösteriyor ama kopyalama gecikmeleri için ayrıca kontrol etmenizi öneririm:
Get-MailboxDatabaseCopyStatus * | Where-Object {$_.CopyQueueLength -gt 100} | Select Name, CopyQueueLength, ReplayQueueLength, Status
Uyumluluk ve Denetim
Uyumluluk Yönetimi bölümü küçük firmalarda pek açılmasa da kurumsal ortamlarda vazgeçilmez. Birkaç kritik alan:
Yerinde Saklama ve Litigation Hold
Kullanıcı işten çıkacak ve mailleri silinmemeli mi? Ya da mahkeme sürecinde bir çalışanın tüm maillerini saklamanız mı gerekiyor?
EAC’den Alıcılar > Posta Kutuları içinde ilgili kullanıcıya girip Posta Kutusu Özellikleri > Posta Kutusu Özellikleri altında Litigation Hold etkinleştirebilirsiniz.
PowerShell ile:
Set-Mailbox -Identity "[email protected]" -LitigationHoldEnabled $true -LitigationHoldDuration 2555
Bu komut 7 yıl boyunca tüm içeriği saklar.
Denetim Günlüğü
Yönetici işlemlerini kim yaptı, ne zaman yaptı sorusunun cevabı burada. Uyumluluk Yönetimi > Denetim altında yönetici denetim günlüğünü etkinleştirip raporları görebiliyorsunuz.
Set-AdminAuditLogConfig -AdminAuditLogEnabled $true -AdminAuditLogCmdlets * -AdminAuditLogParameters *
Belirli bir tarihteki yönetici işlemlerini sorgulamak için:
Search-AdminAuditLog -StartDate "01/01/2024" -EndDate "31/01/2024" -UserIds "[email protected]" | Select CreationDate, Caller, CmdletName, ObjectModified
Sertifika Yönetimi
Sunucular > Sertifikalar bölümü çok göz ardı edilen bir alan ama süresi dolan sertifika tüm mail akışını durdurabilir. EAC’den mevcut sertifikaların son kullanma tarihlerini görebilir, yeni CSR oluşturabilir ve sertifika atayabilirsiniz.
Sertifika süresi dolmadan 30 gün önce uyarı almanız için bir monitoring script’i oldukça yararlı:
$threshold = (Get-Date).AddDays(30)
Get-ExchangeCertificate -Server $env:COMPUTERNAME | Where-Object {$_.NotAfter -lt $threshold} | Select Subject, NotAfter, Services | Format-Table -AutoSize
Sertifikayı Exchange servislerine atamak için:
Enable-ExchangeCertificate -Thumbprint "SERTIFIKA_THUMBPRINT" -Services IIS,SMTP,POP,IMAP
Mobil Cihaz Yönetimi
Mobil bölümü özellikle BYOD politikası olan firmalarda aktif kullanılıyor. Cihaz erişim kuralları, karantina listesi, remote wipe işlemleri buradan yapılıyor.
Bir kullanıcının telefonu kaybettikten sonra remote wipe uygulamak:
Clear-MobileDevice -Identity "[email protected]..." -NotificationEmailAddresses "[email protected]"
Sonuç
EAC güçlü bir araç ama sınırlarını bilmek de o kadar önemli. Günlük tekrarlayan işlemler, tek seferlik yapılandırmalar, görsel olarak kontrol etmeniz gereken durumlar için EAC mükemmel. Toplu işlemler, otomasyon, scriptleme ve raporlama için PowerShell kaçınılmaz.
Pratikte en sağlıklı yaklaşım şu: Bir şeyi EAC’den yapmayı öğrenin, sonra arka planda hangi PowerShell komutunun çalıştığını anlayın. EAC’nin sağ alt köşesindeki “PowerShell komutunu göster” özelliğini mutlaka kullanın. Bu özellik sayesinde EAC’de yaptığınız her işlemin PowerShell karşılığını görebilir, kademeli olarak komut satırına geçiş yapabilirsiniz.
Exchange yönetimi hem teknik hem de organizasyonel bir iş. Sunucunun sağlıklı çalışması kadar, kullanıcıların ihtiyaçlarını hızlı ve doğru karşılamak da önemli. EAC bu dengeyi kurmak için iyi bir başlangıç noktası ve deneyimli bir yöneticinin elinde oldukça etkili bir silah olmaya devam ediyor.
