Public Folder Nedir, Hâlâ Neden Var?

Public Folder, Exchange'in 1996'dan kalma "ortak klasör" özelliği. Eski şirketler hâlâ kullanır:

  • Departman dökümantasyonu (Insan Kaynakları/Finans)
  • Ortak takvim, ortak kontak listesi
  • "Ortak Posta" (Shared Mailbox öncesi alternatif)
  • Eski iş akışı uygulamaları

Microsoft 2026'da hâlâ destekliyor ama "SharePoint Online'a veya Microsoft 365 Group'a göç edin" diyor. Eğer mecburen taşınacaksa Public Folder Migration süreci:

Karar — Ne Zaman PF Migration, Ne Zaman SharePoint?

İçerikÖnerilen hedef
Doküman arşiviSharePoint Document Library
Wiki / bilgi tabanıSharePoint Wiki / Loop
Ortak takvimMicrosoft 365 Group calendar
Ortak inbox (info@)Shared Mailbox
Mail thread'li tartışmaMicrosoft 365 Group inbox
Eski uygulama bağımlılığıPublic Folder (zorunlu)

Migration Önkoşulları

  1. On-prem Exchange 2013 CU15+ veya 2016/2019 (en son CU)
  2. Microsoft 365 tenant'ta Exchange Hybrid kurulu (önerilir)
  3. Tüm public folder'ların hiyerarşik adı (path) ASCII-safe (Türkçe karakter sorun çıkarabilir)
  4. Migration admin: Domain Admin + Exchange Org Admin + Microsoft 365 Global Admin

Adım 1 — On-Prem PF Envanteri

# Exchange Management Shell (on-prem)
Get-PublicFolder -Recurse |
  Select Identity, FolderPath, FolderClass |
  Export-Csv .\pf_inventory.csv -NoTypeInformation -Encoding UTF8

# Mailbox kullanan PF'ler ve boyutları
Get-PublicFolderStatistics |
  Select Identity, ItemCount,
    @{n="SizeMB";e={[math]::Round($_.TotalItemSize.ToBytes()/1MB,2)}} |
  Sort SizeMB -Descending |
  Export-Csv .\pf_sizes.csv -NoTypeInformation

Adım 2 — PF Mailbox'larını Hesapla

Modern Public Folder, "PF mailbox" denilen özel bir mailbox tipinde tutulur. Mailbox başına 50 GB sınırı. Toplam PF veriniz 200 GB ise 4-5 PF mailbox lazım.

Microsoft scripti:

# İndir: aka.ms/Folder-To-Mailbox-Map-Generator
.\Folder-To-Mailbox-Map-Generator.ps1 `
  -ImportFile .\pf_sizes.csv `
  -ExportFile .\folder-to-mailbox.csv `
  -MailboxSize 25GB

Çıktı: hangi public folder hangi PF mailbox'a düşecek.

Adım 3 — Hedef PF Mailbox'larını Cloud'da Oluştur

Connect-ExchangeOnline

New-Mailbox -PublicFolder -Name PrimaryPF -HoldForMigration:$true
New-Mailbox -PublicFolder -Name PF02
New-Mailbox -PublicFolder -Name PF03

HoldForMigration = sadece ilk mailbox'a, migration tamamlanana kadar kullanıcı erişemez.

Adım 4 — Migration Endpoint Tanımla

$source = New-MigrationEndpoint -PublicFolder `
  -Name PFMigrationEP `
  -RemoteServer mail.firmaniz.com `
  -Credentials (Get-Credential)

Adım 5 — Migration Batch Oluştur ve Başlat

New-MigrationBatch -Name PFMigration `
  -CSVData (Get-Content .\folder-to-mailbox.csv -Encoding Byte) `
  -SourceEndpoint $source.Identity `
  -NotificationEmails it@firmaniz.com

Start-MigrationBatch -Identity PFMigration

Adım 6 — Batch'i İzle

Get-MigrationBatch -Identity PFMigration |
  Select Status, ActiveJobsCount, FailedJobsCount, TotalCount

Get-MigrationUserStatistics -BatchId PFMigration |
  Select Identity, Status, ItemsSynced, ItemsSkipped, BytesTransferred

Tipik hız: 5-10 GB/saat. 200 GB için 20-40 saat.

Adım 7 — Cutover (Geçişin An'ı)

Batch "Synced" olduktan sonra:

  1. On-prem PF'leri write-protect et — kullanıcı yazma yapmasın:
    # On-prem
    Set-OrganizationConfig -PublicFoldersLockedForMigration:$true
  2. Final sync:
    # Cloud
    Complete-MigrationBatch -Identity PFMigration
  3. PF mailbox kullanıma aç:
    Set-Mailbox -PublicFolder -Identity PrimaryPF -HoldForMigration:$false
    Set-OrganizationConfig -PublicFoldersEnabled Local
  4. On-prem PF'leri kaldır (24 saat sonra):
    # On-prem
    Set-OrganizationConfig -PublicFoldersEnabled Remote
    Get-PublicFolder -Recurse | Remove-PublicFolder -Recurse -Confirm:$false

Outlook Etkisi

Outlook 30 dakika - 2 saat içinde otomatik olarak yeni PF mailbox'larına yönlenir. Manuel müdahale gerekmez. Eski PF'leri görmüyorsa:

  • Outlook → Send/Receive → Update Folder
  • Outlook'u yeniden başlat
  • Profili yeniden oluştur

10 Sık Karşılaşılan Hata

1. "Source mailbox quota exceeded"

PF mailbox 50 GB doldu. Çözüm: yeni PF mailbox ekle, mapping'i güncelle, batch restart.

2. "FolderName contains invalid characters"

Türkçe karakter, \, /, ? içeren PF isimleri. Geçici olarak rename et:

Set-PublicFolder -Identity "\Yönetim\IK Belgeler" -Name "IK_Belgeler"

3. "BadItemLimit exceeded"

Bozuk öğe çok. Limit artır:

Set-MigrationBatch -Identity PFMigration -BadItemLimit 100

4. "Permission denied" — bazı PF'ler taşınmıyor

Source PF'lerde "Default" izni eksik. Add-PublicFolderClientPermission ile düzelt.

5. Migration "Stalled — no progress"

Endpoint network sorunu. Endpoint'i sil, yeniden oluştur, batch resume et.

6. Outlook'ta "Cannot expand the folder"

Cutover sonrası 30 dk bekle. Devam ederse Outlook profili yenile.

7. Cloud PF mailbox limiti aşıldı (1000 PF max)

Microsoft tenant başına 1000 PF mailbox limit. Birleştirme veya SharePoint geçişi şart.

8. Send-As permission kayboldu

PF için "Send-As" izinleri taşınmaz. Manuel ekle:

Add-RecipientPermission -Identity "MailEnabledPF" -Trustee user@firmaniz.com -AccessRights SendAs

9. Public Folder hierarchy split (eski sürüm karışıklığı)

2010'dan kalma split hierarchy. Önce on-prem'de Get-PublicFolderMailboxDiagnostics ile kontrol.

10. "Get-PublicFolder: Public folder system has not been initialized"

Tenant'ta hiç PF mailbox yok. Adım 3'ü tamamla.

Migration Sonrası — Kullanım Alışkanlığı Değiştir

Public Folder migration sadece "geçici köprü". Uzun vadede:

  • Doküman PF'leri → SharePoint Document Library'e
  • Calendar PF'leri → Microsoft 365 Group Calendar'a
  • Discussion PF'leri → Teams Channel'a

SSS

PF migration kaç gün sürer?

50 GB için 1 gün, 500 GB için 1 hafta. Cutover dahil 2 hafta tipik proje.

PF mailbox sayısı sınırı?

Tenant başına 1000 PF mailbox. Mailbox başına 50 GB. Toplam ~50 TB pratik tavan.

SharePoint'e doğrudan migration var mı?

3rd party araç (Quest, BitTitan, ShareGate) ile evet. Microsoft direkt aracı yok.

Mail-enabled PF'ler ayrı mı taşınır?

Hayır — PF migration onları da taşır, ama SMTP adresleri tenant'ta yeniden bağlanır.

Eski Outlook 2010 / 2013 ile uyumlu mu?

Modern PF (cloud) için Outlook 2016+ gerekir. Outlook 2013 SP1 kısmen çalışır, 2010 desteklenmez.

Public Folder migration projesi için bize ulaşın → Envanter + plan + cutover dahil paket.