Roaming Profile (Gezici Profil) Yapılandırması ve Çalışma Mantığı

Roaming Profile, kullanıcı profilinin bir dosya sunucusunda tutulmasını ve kullanıcının Domain'deki hangi bilgisayarda oturum açarsa açsın aynı masaüstü, belge ve ayarlarla çalışmasını sağlar. Kullanıcı oturum açtığında profil sunucudan bilgisayara kopyalanır, oturum kapandığında değişen dosyalar sunucuya geri yazılır. Profil merkezi olarak tutulduğu için bilgisayar değiştiğinde ya da arızalandığında kullanıcının ayarları kaybolmaz.

Bu yazıda bir dosya sunucusunda Roaming Profile paylaşımını hazırlıyor, Active Directory'de bir kullanıcıya Profile Path tanımlıyor ve profilin iki farklı bilgisayar arasında taşındığını test ediyorum. Folder Redirection yapılandırması kapsam dışında.

Bu makaledeki adımlar, Windows Server sürümüne bağlı değildir. Profil klasörüne eklenen sonek ise istemci sürümüne göre değişir: Windows 10 sürüm 1607 ve sonrası, Windows 11 ile Windows Server 2016 ve sonrası .V6 kullanır, kullanılan sonek sunucudaki klasör adından görülebilir.

1- Roaming Profile Nasıl Çalışır?

Kullanıcı oturum açtığında Windows, Active Directory'deki Profile Path değerine bakar ve profili sunucudan istemcinin C:\Users klasörüne kopyalar. Oturum boyunca kullanıcı bu yerel kopyayla çalışır, sunucuyla sürekli bağlantı gerekmez. Oturum kapanırken değişen dosyalar ve kullanıcının Registry Hive'ı (NTUSER.DAT) sunucuya geri yazılır. Yerel kopya varsayılan olarak bilgisayarda kalır ve bir sonraki oturumda yalnızca değişen dosyalar kopyalanır.

Windows, profil klasörünün adına istemci sürümüne göre bir sonek ekler. Profile Path \\SRV001\RoamingProfiles$\User5 olarak tanımlansa da Windows 10 sürüm 1607 ve sonrası istemciler profili User5.V6 klasöründe tutar. Farklı sürümdeki istemciler aynı kullanıcı için farklı sonekli klasörler kullanır, bu yüzden ayarlar sürümler arasında taşınmaz. Her sürüm için ayrı Profile Path tanımlamaya gerek yoktur.

Oturum açılırken sunucuya ulaşılamazsa kullanıcı bilgisayardaki yerel kopyayla açılır. Yerel kopya da yoksa Windows kullanıcıya bir Temporary Profile verir ve bu profilde yapılan değişiklikler oturum kapanınca silinir.

Roaming Profile'ın en çok karşılaşılan sorunu, profil büyüdükçe oturum açma ve kapama sürelerinin uzamasıdır. Bunu çözmek için profili büyüten klasörler profil dışına alınır:

Sorun Çözüm
Documents, Desktop gibi klasörler profili büyütüyor Folder Redirection ile bu klasörleri doğrudan sunucuda tutmak
Uygulamaların önbellek klasörleri profille taşınıyor Exclude directories in roaming profile Group Policy ayarıyla bu klasörleri dışlamak
Profil boyutu kontrolsüz büyüyor Limit profile size Group Policy ayarı ya da sunucuda FSRM kotası
Paylaşılan bilgisayarlarda yerel kopyalar birikiyor Delete cached copies of roaming profiles Group Policy ayarı
Microsoft, DFS Replication ile çoğaltılan Roaming Profile verisinin DFS Namespaces üzerinden birden fazla hedefe dağıtılmasını desteklemez. Ayrıntısını DFS makalemde anlattım.

2- Ön Kontrol

Başlamadan önce şu maddeleri doğruluyorum:

Kontrol Beklenen Durum
Domain ortamı Dosya sunucusu ve istemciler Domain üyesi
Dosya sistemi Profil klasörünün oluşturulacağı disk NTFS
Kullanıcı grubu Roaming Profile kullanacak kullanıcılar bir güvenlik grubunda toplanmış (üretim yapısı için)
Yetki Dosya sunucusunda yönetici, Active Directory'de kullanıcı özelliklerini düzenleyebilen bir hesap

3- Profil Klasörünün ve İzinlerinin Hazırlanması

1- Dosya sunucusunda tüm kullanıcıların profillerini barındıracak RoamingProfiles adında tek bir kök klasör oluşturuyorum. Kullanıcı klasörlerini burada elle açmıyorum, Windows her kullanıcının klasörünü ilk oturumda kendisi oluşturur.

Roaming Profile

2- Klasörün Properties penceresinde Security sekmesine geçip Edit... butonuna tıklıyorum. Bu ekranda klasörün NTFS izinlerini düzenliyorum.

Roaming Profile

3- Kullanıcıların kök klasörde kendi profil klasörlerini oluşturabilmesi ve profillerini okuyup yazabilmesi için NTFS'te yetki gerekir. Paylaşım izni tam olsa bile NTFS izni yoksa erişim reddedilir ve profil yüklenemez. Lab ortamında bu yetkiyi kısa yoldan vermek için Add... butonuyla Everyone grubunu ekliyorum.

Roaming Profile

4- Lab ortamında Everyone grubuna Full Control veriyorum.

Roaming Profile

Roaming Profile

NTFS'te Everyone grubuna Full Control verildiğinde her kullanıcı kök klasörde başka bir kullanıcının adıyla klasör oluşturabilir, başkalarının klasörlerini silebilir ya da yeniden adlandırabilir. Bu izin üretim ortamında kullanılmaz.

Üretim ortamında kök klasörün kalıtımını (Inheritance) kapatıp Microsoft'un Roaming User Profiles için önerdiği şu izinleri uyguluyorum:

Hesap İzin Uygulandığı Yer
CREATOR OWNER Full Control Subfolders and files only
SYSTEM Full Control This folder, subfolders and files
Administrators Full Control This folder only
Roaming Profile kullanıcılarının güvenlik grubu List folder / read data, Create folders / append data This folder only

Bu izinlerle kullanıcı kök klasörde yalnızca kendi profil klasörünü oluşturabilir. CREATOR OWNER satırı sayesinde oluşturduğu klasörde tam yetkiye sahip olur, diğer kullanıcıların klasörlerini ise açamaz.

4- Klasörün Paylaşıma Açılması

1- Klasörün Sharing sekmesinde Advanced Sharing... butonuna tıklıyorum.

Roaming Profile

2- Share this folder seçeneğini işaretleyip paylaşım adının sonuna $ ekliyorum. $ ile biten paylaşımlar ağda gözatılırken listelenmez, yalnızca UNC yolu bilinerek erişilir. Ardından Permissions butonuna tıklıyorum.

Roaming Profile

3- Lab ortamında paylaşım izninde Everyone grubuna Full Control veriyorum. Ağdan gelen bir erişimde paylaşım izni ve NTFS izni birlikte değerlendirilir ve ikisinin kesişimi geçerli olur. Bu tasarımın ayrıntısını Share Permissions makalemde anlattım.

Roaming Profile

Üretim ortamında paylaşım izninden Everyone grubunu kaldırıp yalnızca Roaming Profile kullanıcılarının güvenlik grubuna Full Control veriyorum. Ayrıntılı kısıtlamayı 3. bölümdeki NTFS izinleri yapar.

4- Klasör paylaşıma açıldı.

Roaming Profile

5- Klasörün içi şu an boş. Kullanıcı klasörleri ilk oturumlarda oluşacak.

Roaming Profile

6- Paylaşım gizli olduğu için ona doğrudan UNC yoluyla, \\SRV001\RoamingProfiles$ adresinden erişiyorum.

Roaming Profile

Microsoft, profil paylaşımında Offline Files önbelleğinin kapatılmasını önerir. Profil zaten istemcide yerel olarak tutulduğu için Offline Files ikinci bir önbellek oluşturur ve eşitleme sorunlarına yol açabilir. Ayrıca paylaşımda Access-Based Enumeration açarak kullanıcıların kök klasörde yalnızca erişebildikleri klasörleri görmesini sağlıyorum. Her iki ayarı dosya sunucusunda yönetici olarak açtığım PowerShell oturumunda yapıyorum.

Set-SmbShare -Name "RoamingProfiles$" -CachingMode None -FolderEnumerationMode AccessBased -Force
Get-SmbShare -Name "RoamingProfiles$" | Select-Object Name, Path, CachingMode, FolderEnumerationMode

Kontrol Noktası
Çıktıda CachingMode değeri None, FolderEnumerationMode değeri AccessBased olmalı.

5- Kullanıcıya Profile Path Tanımlanması

1- Active Directory Users and Computers konsolunda User5 kullanıcısının Properties penceresini açıyorum.

Roaming Profile

2- Profile sekmesindeki Profile path alanına \\SRV001\RoamingProfiles$\%username% yazıyorum. Active Directory Users and Computers, kullanıcı özelliklerini kaydederken %username% değişkenini kullanıcının oturum açma adıyla değiştirir. Birden fazla kullanıcı seçilip toplu düzenleme yapıldığında da her kullanıcıya kendi adıyla doğru yol yazılır.

Roaming Profile

Profile Path:       \\SRV001\RoamingProfiles$\%username%
Kaydedilen değer:   \\SRV001\RoamingProfiles$\User5
Sunucudaki klasör:  \\SRV001\RoamingProfiles$\User5.V6

SRV001            Dosya sunucusunun adı veya FQDN'i
RoamingProfiles$  Gizli paylaşım
.V6               Windows'un istemci sürümüne göre eklediği sonek

Kaydedilen yolu Active Directory PowerShell modülü yüklü bir sunucuda kontrol ediyorum.

Get-ADUser -Identity User5 -Properties ProfilePath | Select-Object Name, ProfilePath

6- İlgili Group Policy Ayarları

Roaming Profile'ı yönetmek için kullandığım Group Policy ayarları şunlar. Hepsi isteğe bağlıdır, ihtiyaca göre uygulanır.

Ayar Konum Ne Yapar
Add the Administrators security group to roaming user profiles Computer Configuration\Administrative Templates\System\User Profiles Yeni oluşturulan profil klasörlerine Administrators grubunu ekler. Açılmazsa yöneticiler kullanıcı profil klasörlerine erişemez
Delete cached copies of roaming profiles Computer Configuration\Administrative Templates\System\User Profiles Oturum kapanınca istemcideki yerel kopyayı siler. Sunucuya ulaşılamadığında kullanıcı Temporary Profile ile açılır
Exclude directories in roaming profile User Configuration\Administrative Templates\System\User Profiles Belirtilen klasörleri profille birlikte sunucuya taşımaz
Limit profile size User Configuration\Administrative Templates\System\User Profiles Profil boyutuna üst sınır koyar ve sınır aşılınca kullanıcıyı uyarır
Add the Administrators security group ayarı yalnızca ayar uygulandıktan sonra oluşturulan profil klasörlerini etkiler. Mevcut klasörlerin izinleri değişmez.

Windows ayrıca profil klasörünün sahibinin kullanıcı ya da Administrators grubu olduğunu denetler. Sahip başka bir hesapsa profil yüklenmez. Bu yüzden profil klasörlerinin sahipliğini elle değiştirirken bu kuralı göz önünde bulunduruyorum.

7- Test ve Doğrulama

1- User5 ile PC10 bilgisayarında oturum açıyorum.

Roaming Profile

Roaming Profile

2- Paylaşımda User5'in profil klasörü .V6 sonekiyle oluştu.

Roaming Profile

3- Masaüstünde birkaç klasör ve dosya oluşturup oturumu kapatıyorum. Oturum kapanırken bu değişiklikler sunucudaki profile yazılıyor.

Roaming Profile

4- User5 ile bu kez PC20 bilgisayarında oturum açıyorum. PC10'da oluşturduğum klasör ve dosyalar PC20'nin masaüstünde de görünüyor.

Roaming Profile

Kontrol Noktası
PC10'da yapılan değişiklikler PC20'de görünmeli ve kullanıcıya Temporary Profile ile oturum açıldığını belirten bir uyarı gösterilmemeli.

Profil yükleme ve kaydetme sorunlarını istemcide Event Viewer'daki Application günlüğünde User Profile Service kayıtlarından izliyorum:

Olay Kimliği Anlamı
1509 Profildeki bir dosya kopyalanamadı
1511 Kullanıcı Temporary Profile ile oturum açtı
1530 Oturum kapanırken kullanıcının Registry dosyası başka bir işlem tarafından açık tutuluyordu

Roaming Profile'ı kaldırmam gerekirse kullanıcının Profile Path alanını boşaltıyorum. Kullanıcı bir sonraki oturumda bilgisayardaki yerel profiliyle devam eder, sunucudaki klasör ise elle silinene kadar kalır.

Yapılandırmanın tamamlandığını şu ölçütlerle anlıyorum: paylaşım gizli, Offline Files kapalı ve Access-Based Enumeration açık, kullanıcının Profile Path değeri doğru, sunucuda profil klasörü istemci sürümüne uygun sonekle oluşuyor ve bir bilgisayarda yapılan değişiklik diğer bilgisayarda görünüyor. Profil boyutunu kontrol altında tutmak için bir sonraki adım Folder Redirection'ı devreye almak.

Faydalı olması dileğiyle...

Bu makaleye 4 yorum yapıldı. Sen de düşünceni paylaş!

750 karakter yazabilirsiniz.
Güvenlik kodu
Yorumlar, onaylandıktan sonra yayınlanmaktadır.
E-posta, yorum onay bildirimi için gereklidir. Yayınlanmaz.
02.05.2021 Emrah Öztürk

Fırat Bey Merhabalar,
Konuyu çok güzel anlatmışsınız teşekkürler.
Windows 7 de açılan bir profil (V2), Windows 10 da (V6) açılan profil de dosyaları göremiyorum. Windows 10 da açılan bir profil ise Windows 7 de görünmüyor. bunun bu şekilde olması normal bir durum mu? yada farklı bir ayarı var mı?

CEVAPLA

Cevaplar
14.01.2019 Cüneyt Işılak

Merhaba benim şöyle bir sorunum var. Kullanıcı masaüstündeki dosyaları siliyor.ancak bilgisayarı yeniden başlatıp aynı kullanıcıyla girdiği zaman silinmiyor.
Kullanıcı oturum açtığında Sağ altta Kullanıcı profili sunucu profiliyle tam olarak eşitlenemedi gibi bir bildirim geliyor.

CEVAPLA

Cevaplar
15.01.2019 Fırat Boyan

Roaming Profile üzerinde Mandatory profile uygulanmış anlaşılan. EvendID bilgisini gönderir misin?

20.06.2018 Enes Aslan

Elinize sağlık hocam. Anlaşılır ve sade anlatım. Bilgiyi direk beyine pompalıyor :)

CEVAPLA

Cevaplar