Bilindiği üzere SCCM ile uygulama dağıtırken packages veya application olarak seçim yapılabilir. Bunların farklarını gösteren makale ve videyolar sitede mevcut.
Özellikle kurum içi yapılan dağıtımlarda belirli güncelleştirme paketinin yüklü olması gereken yazılım dağıtımları olabilir. Bunların dışında Application kullanarak windows güncelleştirmeleri de dağıtılabilir. İşte bu gibi durumlarda belirtilen koşulun sağlanıp sağlanmadığının kontrolünü sağlamak için SCCM üzerinde Application detection kavramını kullanırız.
Özellikle son günlerde hepimizin başını ağrıdan ransomware/wannacry gibi kripto virüslerinden korunmak için Microsoft öncesinden gerekli duyuruları yapmıştı. Bu duyurularda belirli windows updates geçildiği sistemlerin güvenilir olduğunu, ve en kısa sürede tüm ortama bu updatelerin geçilmesi gerektiğinden bahsettiler. Bu kısımda bu güncelleştirmelerin kurulup kurulmadığını, kurulmadıysa otomatik olarak kurmasını sağlamak için sup üzerinden bir çok politika kullana bilineceği gibi application deployment üzerinden Application detection kullanılarak da yapılabilir.
Uygulaması son derece pratik ve basit. Basit olmasının yanı sıra faydaları ise kurumlar için hayat kurtarıcı, operasyonel iş yükünü azaltıcı desek yanlış olmaz.
Temelde File/Folder System, Registy ve Windows Installer olarak kural oluşturulabilir. Bunların dışında ise tabi ki custom script desteği imdadımıza yetişmekte.
Hazır gelen detection rules yetersiz kaldığı durumdarda yukarıdaki işaretli kısım powershell kullanımımıza imkan tanımaktadır.
Örneğin KB3125574 update yüklü olmayan sunuculara bu güncelleştirmeyi wsus ile değil de Application deplyoment ile yapmak istediğimizde, yüklü olup olmadığı sorusunun cevabı detections method larda gizli. Aşağıdaki scrpit örnekleri ile bu işlem gerçekleştirilebilir.
Powershell:
get–hotfix | Where-Object {$_.HotFixID -match “KB3125574“}
Not: bu kontrolu powershell scripts ile gerçekleştirmek gerekirse eğer powershell execution policy nin bypass edilmesi gerebilir.
VBScript:
‘Returns if Windows KB3125574installed
Option Explicit
Dim objWMI, strComputer
strComputer = “.”
‘Run the query
Set objWMI = GetObject(“winmgmts:{impersonationLevel=impersonate}!\\” &strComputer & “\root\cimv2”)
Dim listPatches
Dim patch
Set listPatches = objWMI.ExecQuery (“Select * from win32_QuickFixEngineering where HotFixID like ‘KB3125574‘”)
For Each patch in listPatches
Wscript.echo “Update installed”
Next
WScript.Quit
İşlemlerin Doğrulanması;
Client üzerindeki AppDiscovery.log dosyası işinizi görecektir.