SCCM Üzerinden Kritere Göre Uygulama ve Deployment’ları Otomatik Silmek

SCCM

SCCM (System Center Configuration Manager) ortamlarında zamanla yüzlerce uygulama ve bu uygulamalara bağlı dağıtım (deployment) oluşabilir. Özellikle belirli bir yayıncıya (publisher) ait olan uygulamaları ve bunların deployment’larını toplu olarak silmek istiyorsanız, bu işlem PowerShell ile oldukça kolaylaştırılabilir.

Bu yazıda, "Published by Easy2Patch" açıklamasına sahip tüm uygulamaları ve bunlara ait tüm dağıtımları nasıl otomatik olarak kaldırabileceğinizi gösteren bir PowerShell script'ini adım adım açıklıyoruz.

Hedefimiz Ne?

  • "Aciklama" açıklamasına sahip tüm uygulamaları bulmak

  • Bu uygulamalara bağlı tüm deployment’ları tespit edip kaldırmak

  • Ardından uygulamaların kendisini SCCM’den silmek

Neden Bu Script'e İhtiyacınız Var?

  1. Manuel işlem yükünü azaltır.

  2. Hata riskini azaltır.

  3. Toplu temizlik veya güncelleme öncesi iş akışlarında kullanılabilir.

Rem-CMAppAndDep.ps1
$cmApps = Get-CMApplication | Where-Object { $_.-eq "" }
$allDeployments = Get-CMDeployment
$filteredDeployments = $allDeployments | Where-Object {
    $appCIID = $_.CI_ID
    $cmApps.CI_ID -contains $appCIID
}
$filteredDeployments | Select ApplicationName, DeploymentID, CI_ID
foreach ($deployment in $filteredDeployments) {
    Write-Host "Removing deployment: $($deployment.ApplicationName) - $($deployment.DeploymentID)"
     -ApplicationName $deployment.ApplicationName -CollectionName $deployment.CollectionName -Force -ErrorAction SilentlyContinue
}
foreach ($app in $cmApps) {
    Write-Host "Removing application: $($app.LocalizedDisplayName)"
    Remove-CMApplication -InputObject $app -Force -ErrorAction SilentlyContinue -WarningAction SilentlyContinue
}

Dikkat Edilmesi Gerekenler

Last updated