PowerShell

PowerShell File Server Yönetimi ve NTFS Permission Otomasyonu

PowerShell NTFS Permission Otomasyonu Nedir?

Kurumsal yapılarda dosya sunucusu (File Server) yönetimi, en kritik ve hataya açık operasyonlardan biridir.
Powershell ntfs permission otomasyonu, klasör oluşturma, izin verme, paylaşım oluşturma, ACL yedekleme ve kullanıcı ekleme işlemlerinin tamamen otomatik yapılmasını sağlar.

Bu işlem özellikle şu durumlarda büyük avantaj sunar:

  • Yeni departman klasörerinin oluşturulması

  • Kullanıcı işe başladığında kişisel home klasör açılması

  • Yanlış izin verilmesinin önlenmesi

  • File server migration senaryoları

  • Düzenli ACL yedekleme ve raporlama

NTFS Permission Yapısı (Kısa Özet)

NTFS izinleri üç ana kategoriye göre değerlendirilir:

  1. Basic Permissions (Read, Write, Modify, Full Control)

  2. Advanced Permissions (Change Permissions, Take Ownership)

  3. Inheritance (Ebeveyn klasörden devralma)

PowerShell, Get-Acl ve Set-Acl komutlarıyla bu izinleri ayrıntılı şekilde yönetmemizi sağlar.

PowerShell ile Klasör Oluşturma ve NTFS İzin Atama

Aşağıdaki script, yeni bir departman klasörü oluşturup gerekli NTFS izinlerini otomatik tanımlar:

# PowerShell File Server NTFS Permission Otomasyon Scripti
$Path = "D:\Departmanlar\IT" $GroupFull = "DOMAIN\IT-Full" $GroupModify = "DOMAIN\IT-Modify" $GroupRead = "DOMAIN\IT-Read"
# Klasör oluştur if (-not (Test-Path $Path)) { New-Item -Path $Path -ItemType Directory } 
# ACL oku $Acl = Get-Acl $Path # İzin tanımları $Rule1 = New-Object System.Security.AccessControl.FileSystemAccessRule($GroupFull,"FullControl","ContainerInherit,ObjectInherit","None","Allow") $Rule2 = New-Object System.Security.AccessControl.FileSystemAccessRule($GroupModify,"Modify","ContainerInherit,ObjectInherit","None","Allow") $Rule3 = New-Object System.Security.AccessControl.FileSystemAccessRule($GroupRead,"ReadAndExecute","ContainerInherit,ObjectInherit","None","Allow") # İzinleri ekle $Acl.SetAccessRule($Rule1) $Acl.SetAccessRule($Rule2) $Acl.SetAccessRule($Rule3) # Uygula Set-Acl -Path $Path -AclObject $Acl Write-Host "NTFS izinleri başarıyla uygulandı."

Departman Otomasyonu (Tüm Birimleri Tek Script ile Oluşturma)

$BasePath = "D:\Departmanlar" $Departments = @("IT","Finance","HR","Production") foreach ($Dept in $Departments) { $Folder = "$BasePath\$Dept" $Group = "DOMAIN\$Dept-Full" if (-not (Test-Path $Folder)) { New-Item -Path $Folder -ItemType Directory } $Acl = Get-Acl $Folder $Rule = New-Object System.Security.AccessControl.FileSystemAccessRule($Group,"Modify","ContainerInherit,ObjectInherit","None","Allow") $Acl.SetAccessRule($Rule) Set-Acl -Path $Folder -AclObject $Acl Write-Host "$Dept klasörü oluşturuldu ve izin verildi." }

Bu script büyük şirketlerde departman bazlı folder automation için standarttır.

Kullanıcı Home Folder Otomasyonu

Kullanıcı işe başladığında otomatik “Home” klasörü ve izin ataması:

$User = "tolga" $HomeRoot = "D:\HomeFolders" $HomeDir = "$HomeRoot\$User" New-Item -ItemType Directory -Path $HomeDir $Acl = Get-Acl $HomeDir $Rule = New-Object System.Security.AccessControl.FileSystemAccessRule("DOMAIN\$User","Modify","ContainerInherit,ObjectInherit","None","Allow") $Acl.SetAccessRule($Rule) Set-Acl -Path $HomeDir -AclObject $Acl

ACL Yedekleme Script’i (Tavsiye Edilen)

$Path = "D:\Departmanlar" $BackupFile = "C:\ACL_Backup_$(Get-Date -Format yyyyMMdd).txt" Get-ChildItem $Path -Directory | ForEach-Object { $Acl = Get-Acl $_.FullName $Acl | Format-List | Out-File -FilePath $BackupFile -Append }

Bu script File Server migration süreçlerinde kritik öneme sahiptir.

ACL Geri Yükleme (Export / Import)

İleri seviye bir işlem olup istersen ayrı bir makalede genişletebilirim.

$Acl = Get-Acl "C:\ACL_Backup.txt" Set-Acl -Path "D:\Departmanlar\IT" -AclObject $Acl

Bu makalede powershell ntfs permission otomasyonu ile File Server yönetimini tamamen otomatik hale getirdik.
Klasör oluşturma, NTFS izin atama, departman otomasyonu, kullanıcı home folder oluşturma ve ACL yedekleme gibi tüm kritik işlemler PowerShell ile hatasız ve standart bir şekilde çalışabilir.

File Server yönetimi, PowerShell otomasyonuyla hem daha güvenli hem de çok daha hızlı hale gelir.

İlginizi Çekecek Diğer Yazılar

Daha Fazla Bilgi İçin Microsoft Dökümanları:

Tolga CEYHAN

Tolga CEYHAN, bilgi teknolojilerini severek takip eder ve BT üzerine hali hazırda aktif olarak çalışmaktadır. 2006 yılından 2017 yılına kadar web tasarım yazılım üzerine çalışmalar yaptım. Şuan ise Windows Sistem ve Sistem Güvenliği alanında çalışmalarımı sürdürmekteyim.

Recent Posts

PowerShell Komutları (Profesyonel Rehber)

Birçok kişi PowerShell komutları konusuna yalnızca “hangi komut ne işe yarar?” düzeyinde yaklaşır. Oysa profesyonel…

1 ay ago

Windows File Server Migration Rehberi (Adım Adım Veri Taşıma)

Kurumsal IT altyapılarında zamanla depolama ihtiyaçlarının artması, eski sunucuların performansının yetersiz kalması veya yeni mimariye…

1 ay ago

NTFS Permission Tasarımı ve AGDLP Modeli Rehberi

NTFS Permission Tasarımı: AGDLP Modeli ile Kurumsal Yetkilendirme Rehberi Kurumsal ortamlarda NTFS permission tasarımı, dosya…

1 ay ago

Windows File Server Güvenliği Rehberi

Kurumsal yapılarda Windows File Server güvenliği, veri bütünlüğü ve iş sürekliliği açısından kritik öneme sahiptir.…

1 ay ago

Blockchain Mantığı ile PowerShell Log Bütünlüğü

Blockchain Log Bütünlüğü Bu yazımızda blockchain log bütünlüğü üzerine incelemelerde bulunacağız. Günümüz kurumsal sistemlerinde en…

2 ay ago

PowerShell SQL Backup Script – Automated Full Database Backup

A PowerShell SQL Server backup script is a practical way to standardize SQL backups across…

3 ay ago

This website uses cookies.

Read More