Yazının önceki bölümünü Microsoft Yama Yönetimi – Bedava Çözümler – 1 başlığı altında okuyabilirsiniz.
Microsoft’un HFNetChk ve MBSA yardımcı programları kayıt denetimini atlayan ve çoğunlukla dosya sürümünlerinin karşılaştırmasına güvenen ve mssecure.xml girişlerine karşı sağlama toplamı yapan bir olanak sağlar. Diğer taraftan kayıt denetimi windows güncelleştirmeleri tarafından kullanılan temel mekanizmadır ve en azından özel komut dosyaları Microsoft’un asıl yama mekanizması kadar güvenilir olmalıdır.
İki kayıt yeri yararlı bilgi içerir:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionHotfix
HKEY_LOCAL_MACHINESOFTWAREMicrosoftUpdates
Uzak kayıtların komut dosyası aracılığıyla doğruluğunu sorgulayan metodlar bulmak için Managing Windows Registry With Scripting serisine başvurun. Bu komut dosyalarının hedef bilgisayarda bulunan Windows yönetim enstrümantasyonuna (WMI) bağlı olduğunu da not etmek gerekir. Bu Windows’un yeni sürümleriyle uğraşırken bir problem olmaz çünkü Windows 2000’den başlayarak, WMI, işletim sistemi ile entegre edilmiştir.
Windows NT 4.0 çalışma istasyonları ve sunucuları için büyük bir ihtimalle WMI’nin yüklenmesine ihtiyaç vardır (link ve bilgiler listesine burdan ulaşabilirsiniz here).
Yerel veya uzak yama kurmayı WMI’nin kabiliyetlerini kullanarak yürütebilirsiniz (Win32_Process WMI sınıfının yaratıcı metodunu tekrar canlandırarak). Aşağıdaki örnek komut dosyası bu yaklaşımı ispat ediyor.
Şimdilik her satırın başlangıcındaki numaraları dikkate almayın – kodlardan bahsederken bunlara değineceğiz – ama komut dosyasını test etmek istiyorsanız bunları kaldırmalısınız.
- Dim sComputerB‘– yamalanacak bilgisayarın adı
- Dim sComputerC‘– yama çalıştırıcısının bulunduğu bilgisayarın adı
- Dim sDomain‘– bilgisayarların bulunduğu alan
- Dim sPatchExe‘– yürütülebilir yamaya giden tüm yol
- Dim sTempDir‘– Bilgisayar B’nin çalışan rehberi
- Dim oLocator‘– SWbemLocator sınıfını belirten nesne
- Dim oWMISvc‘– SWbemService sınıfını belirten nesne
- Dim oProcess‘– Win32_Process sınıfını belirten nesne
- Dim iResult‘– yaratma işlemin sonucunu belirten tamsayı
- Dim iPID‘– yaratma işlemindeki PID’I belirten tamsayı
- sDomain= “ServerWatch”
- sComputerB = “BilgisayarB”
- sComputerC= “BilgisayarC”
- sPatchExe = “” & sBilgisayarC &”Patches$q123456_w2k_sp2_x86_en.exe /q”
- sTempDir = “%TEMP%”
- sUserName= “InstallAdmin”
- sPassword= “$w0rdF1sh”
- Set oLocator = CreateObject(“WbemScripting.SWbemLocator”)
- Set oWMISvc= oLocator.ConnectServer(sComputerB, “rootcimv2”, _ sDomain & “” & sUserName, sPassword,, _ “kerberos:” & sDomain & “” & sComputerB) ‘– Delegate impersonation level
- oWMISvc.Security_.ImpersonationLevel = 4 ‘– SeShutdown privilege
- oWMISvc.Security_.Privileges.Add 18
- Set oProcess= oWMIService.Get(“Win32_Process”)
- iResult = oProcess.Create(sPatchExe, sTempDir,, iPID)
- If iResult = 0 Then
- WScript.Echo “Process creation succeeded”
- WScript.Echo “New Process ID is ” & iPID
- Else
- WScript.Echo “Process creation failed with return value ” & iResult
- End If
Yazının devamını Microsoft Yama Yönetimi – Bedava Çözümler – 3 başlığı altında okuyabilirsiniz.