Senaryo: Çalışan Ayrıldı, OneDrive'da Kritik Dosyalar Var

Microsoft 365'te bir kullanıcının lisansı kaldırıldıktan sonra OneDrive'ı 30 gün içinde otomatik silinir (default). Bu süre içinde:

  1. Yeni sorumlu OneDrive'a erişim almalı
  2. Kritik dosyaları kendi OneDrive'ına / SharePoint'e taşımalı
  3. Eski OneDrive ya silinir ya da arşive alınır

Yanlış yapılırsa veriler kalıcı olarak gider.

Önce: Retention Süresini Uzat (Acil Olmasın)

Default 30 gün yetmez. SharePoint Admin Center → Settings → OneDrive → Retention:

Connect-SPOService -Url https://firmaniz-admin.sharepoint.com

Set-SPOTenant -OrphanedPersonalSitesRetentionPeriod 365  # gün cinsinden, max 3650 (10 yıl)

Artık silinmiş kullanıcının OneDrive'ı 1 yıl daha kalır — paniğe gerek yok.

Yöntem 1 — SharePoint Admin Center (En Kolay)

Adım 1: SharePoint Admin'e gir

https://firmaniz-admin.sharepoint.com → sol menü → "More features" → "User profiles" → "Manage user profiles"

Adım 2: Kullanıcıyı bul

Find profile → eski çalışan adı/UPN gir → arama

Adım 3: Manage site collection owners

Sonuçtaki kullanıcı satırı → sağ tık → "Manage site collection owners" → yeni sorumluyu "Site Collection Administrators" olarak ekle

Adım 4: Yeni sorumluya OneDrive URL gönder

URL formatı: https://firmaniz-my.sharepoint.com/personal/eski_firmaniz_com/Documents

Yeni sorumlu artık tarayıcıdan görür, tüm dosyalara erişir.

Yöntem 2 — PowerShell (Toplu / Otomatik)

Modül kurulumu

Install-Module Microsoft.Online.SharePoint.PowerShell -Scope CurrentUser
Connect-SPOService -Url https://firmaniz-admin.sharepoint.com

Belirli OneDrive'a admin atama

$oneDriveUrl = "https://firmaniz-my.sharepoint.com/personal/eski_firmaniz_com"

Set-SPOUser -Site $oneDriveUrl `
  -LoginName yenisorumlu@firmaniz.com `
  -IsSiteCollectionAdmin $true

Tüm orphaned OneDrive'ları listele

# Önce kullanıcı listesi
$activeUsers = Get-MgUser -All -Filter "accountEnabled eq true" |
  Select -ExpandProperty UserPrincipalName

# Tüm OneDrive site'larını al
$oneDrives = Get-SPOSite -IncludePersonalSite $true -Limit All -Filter "Url -like \u0027-my.sharepoint.com/personal/\u0027"

foreach ($od in $oneDrives) {
  # URL'den UPN çıkar
  $upnFromUrl = ($od.Url -replace ".*personal/(.*?)/?$", \u0027$1\u0027) -replace "_", "@" -replace "@(?!.*@)", "."
  # Kaba parse — gerçekte daha sıkı RegEx şart

  if ($upnFromUrl -notin $activeUsers) {
    Write-Host "Orphaned: $($od.Url)" -ForegroundColor Yellow
  }
}

Yöntem 3 — Storage Manager (Microsoft 365 Admin Portal)

Microsoft 365 Admin → Users → Active users → eski kullanıcıyı seç → "OneDrive" sekmesi → "Get access to files"

Burada manager veya başka kullanıcıya 30 gün içinde erişim verme + e-posta gönderme tek tıkla yapılır.

Veri Transfer Yöntemleri

Tarayıcı (Küçük dosya, < 1 GB)

Yeni sorumlu eski OneDrive'a girer → istediği dosyaları "Move to" → kendi OneDrive'ı veya SharePoint kütüphanesine.

OneDrive Sync Client (Orta dosya, 1-100 GB)

Yeni sorumlu kendi bilgisayarında eski OneDrive'ı senkronize eder, yerel olarak indirir, kendi OneDrive'ına kopyalar.

PowerShell + SharePoint PNP (Büyük, 100 GB+)

Install-Module PnP.PowerShell -Scope CurrentUser
Connect-PnPOnline -Url https://firmaniz-my.sharepoint.com/personal/eski_firmaniz_com -Interactive

# Tüm dosyaları kendi OneDrive'ına kopyala
$source = "/personal/eski_firmaniz_com/Documents"
$target = "https://firmaniz-my.sharepoint.com/personal/yenisorumlu_firmaniz_com/Documents/Eski_Calisan_Yedek"

Copy-PnPFile -SourceUrl $source -TargetUrl $target -Force

SharePoint Migration Tool (En Hızlı, Toplu)

Microsoft'un ücretsiz aracı (SPMT) — onlarca OneDrive'ı paralel taşır.

Audit — "Hangi Dosyalar Taşındı?"

Search-UnifiedAuditLog `
  -StartDate (Get-Date).AddDays(-7) -EndDate (Get-Date) `
  -Operations FileMoved, FileCopied `
  -UserIds yenisorumlu@firmaniz.com `
  -ResultSize 5000 |
  Select CreationDate, UserIds,
    @{n="File";e={($_.AuditData | ConvertFrom-Json).SourceFileName}},
    @{n="Site";e={($_.AuditData | ConvertFrom-Json).SiteUrl}}

"Çıkış Süreci" — Kapsamlı Çek-Liste

Çalışan ayrıldığında IT süreci:

  1. Block sign-in (Entra Admin → Block: Yes)
  2. MFA sessions revoke
  3. OneDrive secondary admin = manager (anında)
  4. Mailbox forward = yeni sorumlu (30 gün)
  5. Mailbox → Shared Mailbox dönüştür (lisans iadesi)
  6. OneDrive retention 365 güne çıkart
  7. Lisans kaldır
  8. Manager'a "Yedek aldıktan sonra haber ver" e-postası
  9. Kullanıcıyı 30 gün sonra sil (soft delete)
  10. Audit log'a "exit" event'i girilebilir

Detay: Inactive User + Lisans İade Rehberi.

Yaygın Sorunlar

"OneDrive bulunamadı" — kullanıcı hiç açmamış

OneDrive ilk girişte oluşur. Eğer kullanıcı hiç açmamışsa OneDrive yoktur. Çözüm: önce admin'in kullanıcı adına OneDrive provision et (PnP komutu).

"Access denied" — secondary admin atadım, hâlâ giremiyor

10-30 dk yayılım gerekir. Sabırsızlık: Restart-Service yok, beklemek lazım. InPrivate window'da yeniden dene.

OneDrive 5 TB üzeri

OneDrive default 1 TB. 5 TB'a kadar admin yükseltebilir. Daha üzeri için Microsoft case açın.

SSS

Lisans kaldırınca OneDrive ne kadar kalır?

Default 30 gün, OrphanedPersonalSitesRetentionPeriod ile 10 yıla çıkarılabilir.

Eski OneDrive'ı arşiv olarak SharePoint'e taşıyabilir miyim?

Evet — SPMT veya Move-PnPFile ile SharePoint Document Library'ye toplu taşı. Daha sonra "read-only" yap.

Yeni sorumlu yanlış kişi atanmış — geri alabilir miyim?

Evet — Set-SPOUser -IsSiteCollectionAdmin $false ile kaldır.

OneDrive'da paylaşımlar (Shared with...) ne olur?

Mevcut paylaşımlar kullanıcı silinince broken olur. Yeni sahibe taşıdığında paylaşımlar yeniden ayarlanmalı.

Recycle bin'deki dosyalar?

Geri yüklenebilir — Recycle bin (93 gün) → Site collection recycle bin (93 gün daha) → toplam 186 gün.

Çalışan çıkış süreci otomasyonu için bize ulaşın → Block + transfer + lisans iade tek scriptte.