sccm run script

SCCM Run Script, Microsoft Endpoint Configuration Manager (eski adıyla SCCM) içinde bulunan güçlü bir özelliktir. Bu özellikle, PowerShell script’lerini hedef cihazlara anlık olarak uzaktan çalıştırabilirsin.

  • ? Sistem Temizliği Temp klasörleri sil, disk temizliği yap
  • ? Yazılım Yönetimi Yazılım kaldırma, güncelleme başlatma
  • ? Servis Kontrolü Servis başlatma/durdurma (ör: SCCM client restart)
  • ? Bilgi Toplama Donanım bilgisi, IP adresi, yüklü yazılımlar
  • ? SCCM Sorun Giderme ccmexec yeniden başlat, WMI kontrolü
  • ⚠️ Bildirim/Test Mesaj kutusu gösterme, log üretme
  • Gerçek zamanlı çalışır: Hedef makinelerde anlık sonuç verir.
  • Kolay hedefleme: Koleksiyon bazlı cihaz seçimi.
  • Onay mekanizması vardır: Güvenlik için script’ler çalıştırılmadan önce yetkili biri tarafından onaylanır.
  • Log’lanır: Kim, hangi script’i, ne zaman çalıştırdı bilgisi kayıt altındadır.
  • Yüksek hız ve esneklik sağlar: Uygulama/Paket oluşturma sürecine gerek kalmaz.
  • Script'ler Local System hesabı ile çalışır. Kullanıcı arayüzüne erişemezler (ör: toast bildirim çalışmaz).
  • Script çalıştırma özelliği SCCM istemcisi yüklü cihazlarda kullanılabilir.
  • Script çalıştırmak için gerekli rol ve yetkilerin (Script Approver, Script Runner) tanımlı olması gerekir.
  • Script’ler çalışmadan önce mutlaka Approve (onay) edilmelidir.

00 | Run Script

SCCM'de varsayılan olarak, PowerShell script’lerinin otomatik olarak çalıştırılmasını engelleyen bir güvenlik önlemi vardır. Bu ayar sayesinde, script’i yazan kişi aynı zamanda onay veremez; başka biri (yetkili bir approver) tarafından onaylanması gerekir. Benim böyle bir ihtiyacım olmadığı için bu ayarı kaldıracağım. Aksi halde onay verip scripti çalıştıramam.

Bunun için SCCM konsol üzerinde, Administration → Site Configuration → Sites → Hierarcy Settings kısmından Script authors require additional script approver kısmını iptal ediyorum.

Resim

Artık script oluşturup ilgili makinalara gönderebiliriz. Bunun için SCCM konsol üzerinde Software Library → Scripts → Create Script seçeneği ile devam edin.

Resim

Açılan pencerede Script name kısmına bir isim verin, Timeout kısmına saniye cinsinden bir süre belirtin ve Script kısmına çalıştırmak istediğiniz kodları yapıştırın. Ben basit bir örnek olması adına bilgisayarlardaki DNS önbelleğini temizleme işlemi gerçekleştireceğim.

Makinalarda script çalıştırmadan önce kullanacağınız powershell komutunu kendi ortamınızda test etmeyi unutmayın.

Resim

Diğer kısımları Next ile tamamlayın. Şimdi Script dağıtılmadan önce onaylanması gerekmektedir. Bunun için oluşturduğunuz script üzerinde Approve/Deny butonuna basın.

Resim

Açılan pencerede Approve ile işlemi tamamlayın.

Resim

Artık scripti çalıştırabiliriz. Ama öncesinde bilgisayarımdaki DNS önbellek durumunu kontrol ediyorum ve bilgilerin tutulduğu toplam satır sayısını görebiliyorum.

Resim

İlgili makina veya koleksiyonda Run Script seçeneğini seçiyorum.

Resim

İlgili script seçin ve next seçenekleri ile devam edin.

Resim

Kısa bir süre sonra işlem tamamlanacaktır. Exit code 0 olarak döndü ve işlem başarılı bir şekilde gerçekleşti.

Resim

Bilgisayardan şimdi tekrar kontrol ettiğim zaman önbelleğin temizlendiği görebiliriz.

Resim

CcmNotificationAgent.log dosyasından durumu anlık takip edebilirsiniz.

Resim

Bu şekilde bir çok işlerinizi anlık olarak gerçekleştirebilirsiniz.

Blog'a Dön