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şivi | SharePoint Document Library |
| Wiki / bilgi tabanı | SharePoint Wiki / Loop |
| Ortak takvim | Microsoft 365 Group calendar |
| Ortak inbox (info@) | Shared Mailbox |
| Mail thread'li tartışma | Microsoft 365 Group inbox |
| Eski uygulama bağımlılığı | Public Folder (zorunlu) |
Migration Önkoşulları
- On-prem Exchange 2013 CU15+ veya 2016/2019 (en son CU)
- Microsoft 365 tenant'ta Exchange Hybrid kurulu (önerilir)
- Tüm public folder'ların hiyerarşik adı (path) ASCII-safe (Türkçe karakter sorun çıkarabilir)
- 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:
- On-prem PF'leri write-protect et — kullanıcı yazma yapmasın:
# On-prem
Set-OrganizationConfig -PublicFoldersLockedForMigration:$true
- Final sync:
# Cloud
Complete-MigrationBatch -Identity PFMigration
- PF mailbox kullanıma aç:
Set-Mailbox -PublicFolder -Identity PrimaryPF -HoldForMigration:$false
Set-OrganizationConfig -PublicFoldersEnabled Local
- 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.