Roaming Profile kullanımı, özellikle Domain ortamlarında kullanıcı deneyimini yönetmek için kritik bir noktada duruyor. Ancak standart Roaming Profile, her oturum açma ve kapatma sürecinde profili File Server’dan indirip geri yüklediği için bazı senaryolarda büyük dezavantajlara yol açabiliyor. Kullanıcıların kişisel ayarlarını ve dosyalarını kaydetmesini engellemek ya da her oturumda tutarlı bir çalışma ortamı sunmak isteyen sistemlerde, Mandatory Profile devreye giriyor.
Mandatory Profile, standart Roaming Profile’ın tersine, kullanıcıların profillerine kalıcı değişiklikler yapmasına izin vermeyen, her oturum açmada sıfırdan yüklenen bir yapı sunuyor. Windows oturum açtığında, Mandatory Profile’ı belirlenen dizinden alıyor, geçici olarak oturum açan kullanıcıya sunuyor ve oturum kapatıldığında yapılan değişiklikleri otomatik olarak siliyor. Bu süreç, File Server üzerindeki sabit bir Profile Template’in, her seferinde yeniden dağıtılmasını sağlıyor. Education ortamları, kiosk sistemleri, çağrı merkezleri ve paylaşılan iş istasyonları gibi kullanıcıların her oturumda aynı ayarlarla çalışması gereken sistemlerde Mandatory Profile kaçınılmaz bir çözüm haline geliyor.
Standart bir Roaming Profile ile karşılaştırıldığında, Mandatory Profile farklı bir davranış sergiliyor. Kullanıcı oturum açtığında, sistem NTUSER.DAT yerine NTUSER.MAN dosyasını kullanarak Registry Hive yüklemesini gerçekleştiriyor. Bu dosya, kullanıcı ayarlarının kalıcı olarak değişmesini engelleyen bir Read-Only Registry Hive görevi görüyor. Yani, bir kullanıcı duvar kağıdını değiştirse, masaüstüne kısayollar eklese ya da belirli bir yazılımda özelleştirilmiş ayarlar yapsa bile, oturumu kapattığında tüm bu değişiklikler kayboluyor ve bir sonraki oturumda aynı temiz profil yeniden yükleniyor.
Registry Hive, Windows Registry’nin en üst seviyedeki Root Key'lerinden biridir ve belirli bir yapılandırma kümesini içeren bir veritabanı bölümüdür. Registry Hive, Windows’un sistem yapılandırmalarını, donanım bilgilerini, kullanıcı profillerini ve yazılım ayarlarını sakladığı hiyerarşik bir veri yapısıdır. Her Registry Hive, belirli bir Registry File ile ilişkilidir ve sistem başlatıldığında diskten okunarak RAM'e yüklenir. Windows, sistem çalıştığı sürece Registry Hive içindeki verileri kullanır ve değişiklikleri yönetir. Sistem kapatıldığında ya da oturum kapatıldığında, değişiklikler ilgili Registry File’a yazılır.
Sistemin bu şekilde çalışmasının ardındaki temel mantık, profillerin File Server’dan çekildiği anın hemen ardından Local Cache üzerinde geçici bir oturum profili yaratılmasıdır. Ancak, Mandatory Profile, Local Profile’ın aksine User Profile Disk veya Profile Caching gibi mekanizmaları kullanmaz. Bunun yerine her oturum açılışında .MAN dosyası içeriği doğrudan yüklenir ve kullanılır. Group Policy ile birleştiğinde, Folder Redirection, Roaming Profile Quota Management ve Loopback Processing gibi mekanizmalarla daha kapsamlı bir merkezi yönetim sağlanabilir.
Bir Mandatory Profile oluşturma süreci, öncelikle bir standart kullanıcı profili oluşturmayı ve bu profili özelleştirerek NTUSER.DAT dosyasını NTUSER.MAN olarak değiştirmeyi gerektiriyor. Bu dosyanın yalnızca Read-Only olarak erişilebilir olması gerekiyor, aksi takdirde sistem Mandatory Profile’ı bir Temporary Profile gibi algılayabilir ve yüklemeyebilir. Profil dizini File Server üzerinde paylaştırıldığında, kullanıcıların erişim izinleri de hassas şekilde yapılandırılmalı. Özellikle Access-Based Enumeration ve Security Filtering gibi mekanizmalar kullanılarak, her kullanıcı yalnızca kendisine atanmış Mandatory Profile dizinini okuyabilmelidir.
Özellikle Windows Server tarafında, Group Policy üzerinden Mandatory Profile’ın atandığı durumlarda, profillerin File Server üzerindeki Universal Naming Conven (UNC) Path doğrulamalarının düzgün yapılması gerekiyor. Kullanıcıların, Profile Path’e erişiminin kesilmesi veya paylaşılan dizinin yanlış izinlerle yapılandırılması, Temporary Profile yüklenmesine neden olabilir. Bunun sonucunda, her oturum açılışında istem dışı bir Local Profile yaratılır ve kullanıcı her seferinde varsayılan bir profil ile başlar. Bu da Mandatory Profile’ın sağladığı yönetim avantajlarını ortadan kaldırır.
Mandatory Profile, sistem kaynaklarının korunması ve performansın artırılması açısından büyük bir avantaj sağlıyor. Özellikle çok sayıda kullanıcının tek bir sistem üzerinden çalıştığı senaryolarda, her seferinde sıfırdan yüklenen bir Profile kullanmak, hem Logon Time’ı optimize eder hem de File Server üzerindeki gereksiz büyümeleri önler. Ancak, kullanıcı deneyimi açısından bazı sınırlamaları da beraberinde getiriyor. Kullanıcıların kalıcı değişiklik yapamaması, belirli uygulamalarda User Settings gerektiren işlemler için sorun yaratabilir. Özellikle AppData Roaming, User Certificates, Custom Application Settings gibi dosya ve konumlara yazma yetkisi gerektiğinde, Mandatory Profile kullanımı bazı senaryolarda dikkatle değerlendirilmelidir.
Bütün bu teknik detaylar, Mandatory Profile’ın kullanımını belirli bir senaryoya göre planlamanın ne kadar önemli olduğunu gösteriyor. Eğer yanlış yapılandırılırsa, beklenen yönetim kolaylığından çok daha fazla sorun yaratabilir. Ama doğru tasarlanıp; GPO, Security Permissions ve Folder Redirection gibi mekanizmalarla desteklendiğinde, sistemin sürdürülebilirliği ve yönetilebilirliği açısından büyük bir fark yaratabilir.
1- Mandatory Profile yapılandırılacak kullanıcı için daha önceden Roaming Profile yapılandırılmış olması şart olduğunu söylemiştim. Buna bağlı olarak; daha önceden Roaming Profile için oluşturduğum paylaşım klasörüne girip, User5 için oluşturduğum Roaming Profile kullanıcı klasörüne giriş yapıyorum.
1.1- Burada bir sorunla karşı karşıyayız. Sorun, Administrator bile olsanız, Roaming Profile kullanıcı klasörüne giriş yapamaya yetkiniz olmadığıdır. Continue butonuna tıklasanız bile, gerekli izniniz olmadığı uyarısı ile karşılaşırsınız.


Klasör Sahipliği ve Yetkilendirme işlemleri-1
2- Bu yetki sorununu aşmak için yapmanız gereken şey; hedeflediğimiz yapılandırmayı yapana kadar, Administrator kullanıcısına geçici olarak olarak klasör sahipliğini ve NTFS izinleri için gerekli yapılandırmaları yapmak olacaktır. Bunun için;
2.1- Roaming Profile kullanıcı klasörü üzerinde sağ tıklayarak Properties seçeneğini seçiyorum.

2.2- Açılan Properties penceresindeki Security sekmesi üzerinde Advanced butonuna tıklıyorum.

2.3- Bu alanda öncelikle Administrator kullanıcısına klasör sahipliğini atayacağız. Bunun için Owner bölümünde Change bağlantısına tıklıyorum.

2.4- Administrator kullanıcısını seçip, OK butonuna tıklıyorum.

2.5- Klasör sahipliğini Administrator kullanıcısına atadıktan sonra, üst dizindeki klasör dahipliğinin alt dizindekilere de uygulanması için Replace owner on subcontainers and object seçeneğini seçiyor, OK butonuna basıyorum.
.png)
2.6- Klasör sahipliğinin alt dizindekilere de uygulanması işlemini bitirip OK butonuna bastıktan sonra karşıma, belirttiğimiz dizine erişim için Read (okuma) hakkına sahip olmadığımızı, dizine erişim izinleri için Full Control iznine sahip olmak isteyip istemediğimizi soran soruya da YES butonuna tıklayarak onaylıyorum.

2.7- Bu işlemi tamamladıktan sonra, klasör izinlerini görebilmemiz için klasör izinleri pencresini kapatıp tekrar açmamız gerekmektedir. Çıkan bilgilendirmeye OK butonuna tıklayarak kapatıyorum.

2.8- Klasör izinleri pencresini tekrar açtığımda, Administrator kullanıcısına atanan Full Control iznini görüntüleyebiliyorum. Burada yapmak istediğim bir diğer çok önemli işlem ise, klasör sahipliğini alt dizindeki klasörlere de uyguladığım gibi aynen burada da Replace all child object permission entiries with inheritible permission entires from this object seçeğini seçerek, Administrator kullanıcısının sahip olduğu Full Control izninin alt dizindeki klasörler için de geçerli olmasını sağlıyorum.
2.8.1- Bu işlemi yapmazsanız, kullanıcı profili veri tabanı (NTUSER.DAT) üzerinde gerçekleştirmek istediğimiz yapılandırma için izniniz olmadığı uyarısı ile karşılaşırsınız.

2.9- Replace all child object permission entiries with inheritible permission entires from this object seçeğini seçerek, Full Control izninin alt dizindeki klasörler için de geçerli olacağı uyarısına YES butonuna basarak onay veriyorum.

2.10- ACL (Access Control List) üzerinde Administrator kullanıcısını ve sahip olduğu Full Control izinini görüyorum.

Kullanıcı Profili Veri Tabanı (NTUSER.DAT) Yapılandırma Ayarları
3- Gerekli izin atama işlemi yapıldıktan sonra, Mandatory Profile yapılandırılacak kullanıcı profiline giriş yapıyorum. Burada NTUSER.DAT isminde bir kullanıcı profili veri tabanı bulunuyor.
View menüsünden show/hide bölümünden Hidden items seçeneğini seçtiğimizde, kullanıcı profili veri tabanı (NTUSER.DAT) görünür durumda olacaktır.


4- NTUSER.DAT profil veri tabanını yeniden adlandırarak .DAT uzantısını .MAN uzantısına çeviriyorum. .DAT, (R/W) özelliğine; .MAN ise sadece (R) özelliğine sahiptir. Bu özelliği sayesinde de, profilde yapılan değişikliker profil veri tabanına yazılmayacaktır ki zaten istenen de budur.

4.1- Dosya uzantı değişikliği, doysanın kullanılamaz olabileceği yönündeki uyarıya YES butonuna basarak devam etmek istediğime onay veriyorum.


Klasör Sahipliği ve Yetkilendirme işlemleri-1
5- NTUSER.DAT profil veri tabanı uzantısını değiştirtirdikten sonra sıra, klasör sahipliğini Mandatory Profile yapılandırılacak kullanıcıya geri vereceğiz. Hatırlarsanız biz, gerekli yönetimsel ayarları yapabilmek için geçici olarak klasör sahipliğini almıştık. Bunun için Owner yazan bölümdeki Change bağlantısına tıklıyorum.

5.1- Mandatory Profile yapılandırılacak olan User5 kullanıcısını seçip, OK butonuna basıyorum.

5.2- Klasör sahipliği, Mandatory Profile yapılandırılacak kullanıcı için değiştikten sonra, klasör sahipliğinin alt klasörlere de uygulanması için Replace owner on subcontainers and objects seçeneğine tıklıyorum ki alt alt klasörlerdeki sahiplik de User5 kullanıcısına geri verilsin.
Replace owner on subcontainers and objects seçeneği, seçili klasörün sahipliğini tüm alt klasörler ve dosyalara zorla uygular. Varsayılan olarak, bir nesne oluşturulduğunda sahipliği onu oluşturan kullanıcıya aittir. Ancak, bu seçenek etkinleştirildiğinde, belirtilen Owner bilgisi yalnızca ana klasöre değil, içindeki tüm alt nesnelere de uygulanır.
Bu işlem yapıldığında:
✅ Alt klasör ve dosyalarda bulunan özel sahiplik ayarları silinir.
✅ Üst klasörün sahibi, tüm alt nesnelerde zorunlu olarak atanır.
✅ Önceden atanmış özel sahiplikler geri alınamaz, manuel olarak değiştirilmedikçe tüm alt nesneler üst klasörle aynı sahiplik bilgisine sahip olur.
Özellikle NTFS File System veya Active Directory ortamlarında, sahipliği belirli bir yönetici hesabına geçirmek ve yetkisiz kullanıcıların sahip olduğu dosyaları yönetmek için kullanılır. Yanlış kullanıldığında, kritik sistem dosyalarının veya kullanıcı verilerinin sahipliği değişerek erişim sorunlarına neden olabilir.

5.3- Tekrar User5 kullanıcı profil klasörüne sağ tıklayarak Properties seçeneğini seçiyorum.

5.4- Kullanıcı özellikleri Security sekmesinda Advanced butonuna tıklıyor, Advanced Security Settings pencresini tekrar açıyorum. Permission entries alanında User5 kullanıcısını eklemek ve klasör izni atamak için Add butonuna tıklıyorum.

5.5- Principal: bölümünde Select a principle link'ini tıklıyorum.

5.6- User5 kullanıcısını seçip, OK butonuna basıyorum.

5.7- Sadece Read hakkı veriyorum.

5.8- Kullanıcıyı seçip, Replace all child object permission entiries with inheritible permission entires from this object seçeğini seçerek, User5 kullanıcısının sahip olduğu Read izninin alt dizindeki klasörler için de geçerli olmasını sağlıyorum.
Replace all child object permission entries with inheritable permission entries from this object seçeneği, bir üst nesnenin (Parent Object) tüm izinlerini alt nesnelere (Child Object) zorla uygular ve alt nesnelerdeki özel izinleri siler.
Windows’ta her dosya, klasör veya Active Directory nesnesi bir erişim listesi Access Control List (ACL) içerir. Bu liste, hangi kullanıcı veya grubun hangi yetkilere sahip olduğunu belirler. Normalde, bir nesne ya üst nesnesinden gelen izinleri miras alır (Inherited Permission) ya da kendisine özel atanan izinleri taşır (Explicit Permission).
Bu seçenek aktif edildiğinde:
✅ Tüm alt nesnelerdeki özel izinler tamamen silinir.
✅ Üst nesnede tanımlı olan izinler zorla tüm alt nesnelere uygulanır.
✅ Alt nesneler artık sadece üst nesneden gelen izinleri kullanır.
Örneğin, bir dosya sunucusunda D:\Paylasim klasörüne bu seçeneği uygularsan, alt klasörlerde özel olarak atanmış tüm izinler silinir ve D:\Paylasim klasörünün izinleri tüm alt klasörlere kopyalanır. Active Directory’de bir Organizational Unit (OU) için uygularsan, altındaki tüm kullanıcı, grup ve bilgisayar nesneleri, üst OU’nun izinlerini alır ve önceden atanmış özel yetkilendirmeler kaybolur.

5.9- Kullanıcının üst dizindeki izinlerinin alt dizinlere de uygulanacağını ve devam etmek isteyip istemediğimiz yönündeki soruya YES butonuna basarak devam ediyorum.

5.10- Kullanıcı özellikleri Security (NTFS) sekmesinda User5 kullanıcısının sahip olduğu Read iznini görüntülüyorum.
NOT: Tick işaretinin siyah renkte olması, izin atamasının o dizinde yapıldığını gösterir. Bu tick işaretinin rengi, alt klasörlerde gri olarak olarak görünecektir ki bu da, sahip olduğu izin atamasını inheritance (miras) yolu ile aldığını göstirir.

6- En önemli adımlardan birisi de, Kullanıcı profil klasörünün paylaşıma açılması ve yine sadece User5 kullanıcısına Read(okuma) hakkı olacak şekilde network erişimi için izin ataması yapmaktır. Bunun için, Kullanıcı özellikleri Sharing sekmesindaki Share this folder seçeneğini seçip, Kullanıcı profil klasörünü paylaşıma açıyor, aynı zamanda da ilgili alanları alanların aktif olmasını sağlıyorum. Sonrasında da Permissions butonuna tıklıyorum.

6.1- Varsayılan olarak gelen Everyone kullanıcı grubunu Remove butonuna tıklayarak kaldırıyorum.

6.2- Everyone kullanıcı grubunu kaldırdıktan sona bu sefer, Add... butonuna tıklayarak User5 kullanıcsını ekliyorum.

6.3- User5 kullanıcsın seçip, OK butonuna tıklıyorum.

6.4- User5 kullanıcsını ekledikten sonra, kullanıcımın sadece Read hakkına sahip olduğundan emin oluyor, OK butonuna tıklıyorum.

6.5- Kullanıcı profil klasörü paylaşıma açıldı.

Mandatory Profile Yapılandırması Test Aşaması
Mandatory Profile Yapılandırma işlemlerimizi tamamladıktan sonra sıra, yapılandırma ayarlarımızı test etme işlemine geldi.
7- User5 kullanıcsı ile PC10 Hostname'li bilgisayara oturum açıyorum.

7.1- Profilde bir takım değişiklikler yapıyorum.

7.2- Yapılan değişiklikerin kullanıcı profil veri tabanına kaydedilip kaydedilmeceğini test etmek için Sign out oluyorum.

7.3- User5 kullanıcsı ile oturum açıyorum.

8- Oturum açtığınızda profilde hiçbir değişiklik yapılmadığını, Sign out olmadan önce yaptığınız değişkliklerin hiçbirisinin uygulanmadığını göreceksiniz.
Mandatory Profile'lar, kullanıcının her oturum açtığında temiz ve tutarlı bir ortamla karşılaşmasını sağlayan, merkezi olarak yönetilen bir yapı sunar. Klasik Roaming Profile'ların aksine, yapılan değişiklikler oturum sonunda kalıcı hale gelmez. Bu, özellikle paylaşılan bilgisayar ortamlarında tutarsızlıkları önlemek ve yönetim sürecini daha öngörülebilir hale getirmek için büyük bir avantaj sağlar.
Sistemin temel çalışma mantığı, her oturum açılışında belirlenmiş bir şablonun kullanılmasıdır. Kullanıcı ne yaparsa yapsın, oturumu kapattığında tüm değişiklikler sıfırlanır ve bir sonraki girişte yeniden aynı yapı yüklenir. Bunun sonucu olarak, yönetimsel açıdan daha güvenli bir yapı elde edilirken, istem dışı değişikliklerin ya da profillerin zamanla bozulmasının önüne geçilmiş olur.
Özellikle Kiosk, laboratuvar ya da ortak kullanım alanlarındaki cihazlarda bu model büyük bir kolaylık sunar. Kullanıcılar kendi özelleştirmelerini kaydedemediği için, sistemin stabilitesi korunur ve olası performans sorunlarının önüne geçilir. Üstelik, merkezi bir noktadan yönetildiği için, her kullanıcı için ayrı ayrı profil sorunlarıyla uğraşma ihtiyacı ortadan kalkar.
Birden fazla cihazda tutarlılık sağlamak ve profil bozulmalarına karşı dayanıklı bir yapı oluşturmak isteyenler için Mandatory Profile'lar oldukça güçlü bir alternatiftir. Yapının doğru şekilde uygulanması, kullanıcı deneyimini belirli bir standarda oturturken, gereksiz veri birikimini ve senkronizasyon problemlerini de minimize eder.
Faydalı olması dileğiyle...
Her türlü görüş ve önerilerinizi aşağıdaki yorum panelinden bırakabilir, kafanıza takılanları veya merak ettiklerinizi sorabilirsiniz.