Что-то не захотел работать у меня скрипт. Для простоты отладки выполнял тестирование локально на новой Windows XP Eng 32-bit.
Код выглядит
так:
Код:

Option Explicit
Dim objDictionary
Dim strComputer
Dim objSWbemLocator
Dim objSWbemServicesEx
Dim collSWbemObjectSet
Dim objSWbemObjectEx
Set objDictionary = WScript.CreateObject("Scripting.Dictionary")
With objDictionary
.Add "5.1.2600", "WindowsXP-KB943729-x86-ENU.exe"
.Add "5.2.3790", "WindowsServer2003-KB943729-x86-RUS.exe"
.Add "6.0.6000", "Windows6.0-KB943729-x86.msu"
.Add "6.0.6001", "Windows6.0-KB943729-x86.msu"
.Add "6.0.6002", "Windows6.0-KB943729-x86.msu"
End With
strComputer = "."
Set objSWbemLocator = WScript.CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServicesEx = objSWbemLocator.ConnectServer(strComputer, "root\cimv2")
Set collSWbemObjectSet = objSWbemServicesEx.ExecQuery( _
"SELECT * FROM Win32_QuickFixEngineering WHERE HotFixID='File 1' AND ServicePackInEffect = 'KB943729'")
If collSWbemObjectSet.Count = 0 Then
For Each objSWbemObjectEx In objSWbemServicesEx.InstancesOf("Win32_OperatingSystem")
With objSWbemServicesEx.Get("Win32_Process")
If .Create("""C:\KB\" & objDictionary.Item(objSWbemObjectEx.Version) & _
""" /passive /norestart /log:""C:\Logs" & WScript.CreateObject("WScript.Network").ComputerName & ".log""") = 0 Then
Else
'Error
End If
End With
Exit For
Next
End If
Set collSWbemObjectSet = Nothing
Set objSWbemServicesEx = Nothing
Set objSWbemLocator = Nothing
objDictionary.RemoveAll
Set objDictionary = Nothing
WScript.Quit 0
Расположение файлов на компьютере и отображение запуска и проверки работы скрипта выглядит так:
При этом лог выполнения запуска KB'шки упал в корень C:\, а не C:\Logs, куда должен был бы по идее и выглядит
так:
Код:

[LogsTESTCLIENTXP2.log]
0.156: ================================================================================
0.156: 2012/07/01 14:42:36.938 (local)
0.156: c:\0fa018c457c1f8431be21b0e09e8b2e2\update\update.exe (version 6.3.4.1)
0.156: Failed To Enable SE_BACKUP_PRIVILEGE
0.156: Setup encountered an error: You do not have permission to update Windows XP. Please contact your system administrator.
0.156: You do not have permission to update Windows XP. Please contact your system administrator.
0.156: Update.exe extended error code = 0xf004 0.156: Update.exe return code was masked to 0x643 for MSI custom action compliance.
Все манипуляции выполнялись под локальным администратором.
Прошу Вашей помощи в восстановлении работоспособности скрипта!