SCCM ile Script Dağıtımı ve GPO Alternatifleri: Adım Adım Rehber

Bu yazıda, SCCM ile bir BAT dosyasını nasıl yayınlayabileceğinizi, SCCM ile Script dağıtımı,GPO ile alternatif yöntemleri ve yaşanan olası sorunları kendi tecrübelerimden yola çıkarak paylaşacağım. Sistem yöneticisi olarak sık sık karşılaştığımız durumlardan biri, istemcilerde belirli temizlik veya konfigürasyon işlemlerini otomatikleştirmek.

Neden SCCM veya GPO ile Script Çalıştırma İhtiyacı Doğar?

Örneğin benim senaryomda, kullanıcı makinelerinde eski network mappingleri, proxy ayarları, GPO cache gibi kalıntıları temizlemek için bir BAT dosyası hazırladım. Script manuel çalışıyor ama otomatik olarak logon veya startup sırasında tetiklenmesi gerekiyor. Burada devreye SCCM ve GPO yöntemleri giriyor.

SCCM ile BAT Dosyası Yayınlama

SCCM ile Script Dağıtımı
  1. Öncelikle BAT dosyanızı hazırlayın (benim kullandığım örnek script aşağıda).
  2. BAT dosyasını ve gerekirse ek dosyaları bir klasöre koyun, ardından ZIP yapın.
  3. SCCM’de Application veya Package oluşturun.
    • Application yöntemi daha esnek, “Run as system” gibi ayarları kolayca yönetebilirsiniz.
    • Command line: cmd /c "C:\Temp\NetworkCleanup.bat"
    • Install Behavior: System olarak ayarlayın.
  4. Content’i Distribution Point’e dağıtın, ardından deploy edin.

Script Örneği

@echo off setlocal :: Hedef dizin set TARGETDIR=C:\Temp if not exist "%TARGETDIR%" mkdir "%TARGETDIR%" :: Log dosyası set LOG=%TARGETDIR%\NetworkCleanup.log echo ============================ >> "%LOG%" echo %DATE% %TIME% >> "%LOG%" :: SYSTEM mi yoksa kullanıcı mı kontrolü whoami /groups | find "S-1-5-18" >nul if %errorlevel%==0 ( echo Running as SYSTEM >> "%LOG%" ipconfig /flushdns >> "%LOG%" 2>&1 net use * /delete /y >> "%LOG%" 2>&1 rd /s /q "%windir%\System32\GroupPolicy\Machine" >> "%LOG%" 2>&1 rd /s /q "%windir%\System32\GroupPolicy\User" >> "%LOG%" 2>&1 gpupdate /force /wait:120 >> "%LOG%" 2>&1 ) else ( echo Running as USER >> "%LOG%" net use * /delete /y >> "%LOG%" 2>&1 reg delete "HKCU\Network" /f >> "%LOG%" 2>&1 gpupdate /force /wait:120 >> "%LOG%" 2>&1 ) endlocal exit /b 0

GPO ile Alternatif Yöntemler

Eğer SCCM yoksa ya da daha basit bir yöntem istiyorsanız, Group Policy ile Scheduled Task veya Script dağıtabilirsiniz.

  • Computer Configuration → Preferences → Control Panel Settings → Scheduled Tasks
  • General: Run whether user is logged on or not, Run as SYSTEM seçin.
  • Triggers:
    • At startup (SYSTEM için)
    • At logon (kullanıcı için)
  • Action: Start a program → C:\Temp\NetworkCleanup.bat

Sık Yapılan Hatalar ve Çözümler

  • SCRIPT manuel çalışıyor ama GPO ile çalışmıyor: Genelde path hatası veya izin sorunu. SYSTEM hesabı UNC share’e erişemez, bu yüzden dosyayı önce local’e kopyalayın.
  • Run as SYSTEM seçeneği pasif: GPO’da varsayılan olarak SYSTEM seçili değilse, “NT AUTHORITY\SYSTEM” manuel yazın.
  • Trigger yanlış: Startup → SYSTEM, Logon → USER olacak.

Hangisini Kullanmalı?

Eğer ortamda SCCM varsa, Deployment için SCCM her zaman daha güvenli ve kontrollü bir yöntem. Ama sadece GPO varsa, Scheduled Task yöntemi en garanti çözümdür.

Benzer bir konuda yazdığım SCCM ile Uygulama Dağıtımı Oluşturma ve Paket Dağıtımı? yazısını da okuyabilirsiniz.

Sen de bu yöntemi denedin mi? Fikirlerini yorum olarak yazabilirsin!

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

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