Что нового

WMI ExecQuery обработчик ошибок?

minimen456

Новичок
Сообщения
34
Репутация
0
Код:
$strComputerName = "localhost"
$objWMIService = ObjGet("winmgmts:\\" & $strComputerName & "\ROOT\CIMV2")
If IsObj($objWMIService) <> 1 Then
	MsgBox(0, "", "WMI connectiong failed")
	Exit
EndIf
$path = "C:\\ProgramData\\Symantec\\Definitions\\VirusDefs\\definfo.dat"
$oDefinfo = $objWMIService.ExecQuery("Select * From CIM_DataFile Where Name = " & "'" & $path & "'")

Обратите внимание на последнюю строчку. Как сделать обработчик ошибок, если не удалось подцепить файл From CIM_DataFile (например, файл не существует)
 

VladUs

Скриптер
Сообщения
621
Репутация
182
http://autoit-script.ru/autoit3_docs/intro/ComRef.htm
Смотрите пункт COM Обработка ошибок
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,323
minimen456 [?]
например, файл не существует
А если проверить наличие файла сначала? Примерно так.
Код:
$sPath = @AutoItExe
$sPath = StringReplace($sPath, '\', '\\')
;...
If Not FileExists($sPath) Then
	MsgBox(16, 'Error', 'No file :' & $sPath)
	Exit 13
Else
	MsgBox(64, 'Info', 'OK file: ' & $sPath)
	;...
EndIf
 
Автор
M

minimen456

Новичок
Сообщения
34
Репутация
0
Я забыл уточнить, что пытаюсь работать с удаленой машиной. FileExists тут не помощник
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,323
minimen456,
См. сообщение от VladUs`a или
Код:
ObjEvent();2-й пример
 
Верх