Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Пользователь


Сообщения: 87
Благодарности: 4

Профиль | Сайт | Отправить PM | Цитировать


Что-то не захотел работать у меня скрипт. Для простоты отладки выполнял тестирование локально на новой 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.




Все манипуляции выполнялись под локальным администратором.

Прошу Вашей помощи в восстановлении работоспособности скрипта!

-------
С Уважением,
Пётр Ластенко.


Отправлено: 15:11, 01-07-2012 | #7