Exchange’te CSV ile Toplu Mailbox Oluşturma (İlk Girişte Şifre Değiştirme Zorunlu)
Kurumsal ortamlarda yeni kullanıcı açılışlarını tek tek yapmak hem zaman kaybıdır hem de hata riskini artırır. Bu yazıda, Excel/CSV listesi üzerinden Exchange (On-Prem) ortamında AD kullanıcı + mailbox oluşturmayı ve tüm kullanıcılara aynı ilk şifreyi verip ilk girişte şifre değiştirme zorunluluğu koymayı adım adım anlatıyorum.
Bu yöntem özellikle yeni domain kurulumları, tenant geçişleri, departman genişlemeleri ve hızlı onboarding senaryolarında işinizi ciddi anlamda kolaylaştırır.
Ön Koşullar
-
Exchange Server üzerinde Exchange Management Shell (EMS) erişimi
-
AD cmdlet’leri için ActiveDirectory modülü (RSAT) erişimi
-
Kullanıcıların olduğu CSV dosyası
-
Hedef OU ve hedef Mailbox Database bilgisi
Not: Bu işlem On-Prem Exchange içindir. Exchange Online (M365) tarafında yaklaşım ve cmdlet’ler farklıdır.
CSV Formatı Nasıl Olmalı?
Benim kullandığım CSV’de iki sütun var:
-
Ad Soyad / Birim
-
E-posta
Örnek:
| Ad Soyad / Birim | E-posta |
|---|---|
| Atalay Aktaş Hukuk | atalay.aktas@firma.com |
| Kerem Karakoç Risk | kerem.karakoc@firma.com |
CSV’nin encoding’i UTF-8 olursa Türkçe karakterlerde daha az sürpriz yaşarsın.
Şifre Politikası: İlk Şifre Sabit, İlk Girişte Değiştirme Zorunlu
Senaryomuz:
-
İlk şifre: *********
-
Kullanıcı ilk login olduğunda şifreyi değiştirmek zorunda
Bu sayede tek şifre verilir ama güvenlik açısından ilk girişte kişiselleştirilir.
Ortam Bilgilerini Hazırla
Aşağıdaki değişkenleri kendi ortamına göre güncelle:
-
$csvPath: CSV dosya yolu -
$OU: Kullanıcıların açılacağı OU -
$DB: Mailbox’ların açılacağı Exchange DB -
$DomainUPN: UPN suffix (AD’de tanımlı olmalı)
Örnek DB adların:
-
DP-DB1
-
DP-DB2
PowerShell Script: CSV’den Toplu Kullanıcı + Mailbox Oluşturma
Aşağıdaki script, CSV’yi okuyup her satır için:
-
E-postadan alias üretir (
atalay.aktas) -
UPN oluşturur (alias + domain)
-
Kullanıcıyı ve mailbox’ı belirtilen OU + DB’de açar
-
İlk login’de şifre değiştirme zorunluluğu uygular
Script Sonucu Nasıl Kontrol Edilir?
1) Mailbox oluştu mu?
2) Kullanıcıların DB dağılımı
3) Bir kullanıcının ilk girişte şifre değiştirme durumu
Sık Görülen Hatalar ve Çözümleri
“AD object already exists” hatası
Bu hata, kullanıcı AD’de zaten varsa New-Mailbox yeni bir AD objesi yaratmaya çalıştığı için çıkar.
Bu durumda çözüm:
-
AD user varsa
Enable-Mailbox -
Mailbox da varsa sadece password reset
İstersen buna uygun “varsa geç, yoksa oluştur” mantığında daha gelişmiş bir script de kurgulanır.
UPN suffix hatası
$DomainUPN AD’de tanımlı değilse kullanıcı UPN hatası alabilirsin.
Çözüm: AD’de UPN suffix ekle veya ***********.local gibi mevcut suffix kullan.
