PowerShell

PowerShell ile GPO Yönetimi

PowerShell GPO Yönetimi Nedir?

PowerShell GPO yönetimi, Active Directory ortamındaki Group Policy Object (GPO) yapılandırmalarını komut satırı üzerinden yönetmeye yarar.
Bu sayede GUI (Group Policy Management Console) kullanmadan:

  • Mevcut GPO’ları listeleyebilir,

  • Yedekleme ve restore işlemlerini yapabilir,

  • GPO’ları dışa aktarabilir veya oluşturabilirsiniz.

PowerShell GPO yönetimi, özellikle otomatik yedekleme ve büyük ortam yönetimi için BT yöneticilerine büyük avantaj sağlar.

GPO hataları yaşıyorsanız SCCM GPO Cache Temizleme makalemizde GPO önbellek sorunlarını nasıl çözebileceğinizi öğrenebilirsiniz.

Gerekli Modül ve Ön Koşullar

PowerShell ile GPO yönetimi için GroupPolicy modülünün yüklü olması gerekir.
Bu modül genellikle “RSAT” (Remote Server Administration Tools) ile gelir.

Kontrol etmek için:

Get-Module -ListAvailable GroupPolicy

Yüklü değilse:

Install-WindowsFeature GPMC Import-Module GroupPolicy

GPO Listeleme ve Detay Görüntüleme

Tüm GPO’ları listelemek için:

Get-GPO -All

Belirli bir GPO’nun detaylarını görmek için:

Get-GPO -Name "Default Domain Policy"

GPO oluşturulma tarihini görmek:

Get-GPO -All | Select DisplayName, CreationTime, ModificationTime

PowerShell ile GPO Yedekleme

Tüm GPO’ların yedeğini almak için:

Backup-GPO -All -Path "C:\GPO_Backups"

Belirli bir GPO’nun yedeğini almak:

Backup-GPO -Name "Password Policy" -Path "C:\GPO_Backups"

İpucu: Backup işlemi, GPO’nun GUID ve XML yapılandırmalarını içerir.

PowerShell ile GPO Geri Yükleme

Önceden alınmış bir GPO yedeğini geri yüklemek:

Restore-GPO -Name "Password Policy" -Path "C:\GPO_Backups"

Eğer GPO mevcut değilse, Import-GPO kullanarak yeni bir GPO olarak içe aktarabilirsiniz:

Import-GPO -BackupGpoName "Password Policy" -TargetName "New Password Policy" -Path "C:\GPO_Backups"

GPO’yu Export Etme (XML Formatında)

GPO’yu dışa aktarmak için:

Get-GPOReport -Name "Default Domain Policy" -ReportType XML -Path "C:\Reports\DefaultDomainPolicy.xml"

HTML formatında rapor almak:

Get-GPOReport -All -ReportType HTML -Path "C:\Reports\All_GPO_Report.html"

Bu raporlar, GPO yapılandırmalarını görsel olarak analiz etmenizi sağlar.

Gerçek Senaryo: Haftalık Otomatik GPO Yedekleme Script’i

Aşağıdaki script, Active Directory’deki tüm GPO’ların haftalık olarak otomatik yedeğini alır ve log kaydı oluşturur:

# PowerShell GPO Yönetimi - Haftalık Otomatik Yedekleme Scripti $BackupPath = "C:\GPO_Backups\Weekly_$(Get-Date -Format yyyyMMdd)" $LogFile = "C:\GPO_Backups\GPO_Backup_Log_$(Get-Date -Format yyyyMMdd).txt" # Yedekleme klasörünü oluştur if (-not (Test-Path $BackupPath)) { New-Item -Path $BackupPath -ItemType Directory } # Tüm GPO’ları yedekle Backup-GPO -All -Path $BackupPath -Verbose | Tee-Object -FilePath $LogFile Write-Host "Tüm GPO’lar başarıyla yedeklendi: $BackupPath" -ForegroundColor Green

İpucu: Bu script’i Task Scheduler üzerinden haftalık olarak çalıştırabilirsiniz.

GPO Oluşturma ve Düzenleme Örneği

Yeni bir GPO oluşturmak:

New-GPO -Name "Firewall Settings" -Comment "Otomatik oluşturuldu - PowerShell"

Var olan bir GPO’yu OU’ya bağlamak:

New-GPLink -Name "Firewall Settings" -Target "OU=Servers,DC=contoso,DC=com"

Registry değeri eklemek:

Set-GPRegistryValue -Name "Firewall Settings" -Key "HKLM\SOFTWARE\Policies\Microsoft\WindowsFirewall\DomainProfile" -ValueName "EnableFirewall" -Type DWord -Value 1

Artık PowerShell ile:

  • GPO’ları listeleyebilir,

  • Yedekleyebilir ve geri yükleyebilir,

  • Rapor oluşturabilir,

  • Yeni GPO’lar oluşturup OU’lara bağlayabilirsin.

PowerShell GPO yönetimi, GUI’ye göre çok daha hızlı, tekrarlanabilir ve otomasyon dostu bir çözümdür.

Detaylı Bilgi İçin Kaynaklar:

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…

2 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.…

2 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…

3 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