powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Пара вопросов по WMI???
1 сообщений из 1, страница 1 из 1
Пара вопросов по WMI???
    #34692057
teCa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пишу VBS скрипт который будет следить за созданием и изменением файлов и последующим оповещением.

За дерикторией слежу так:

Код: plaintext
1.
2.
3.
4.
5.
6.
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMv2") 
Set objEvents = objWMIService.ExecNotificationQuery _
("SELECT * FROM __InstanceOperationEvent WITHIN 5 WHERE " & _
	"TargetInstance ISA 'CIM_DataFile'" & _
	" AND TargetInstance.Drive = 'd:'" & _
	" AND TargetInstance.FileSize > 0" & _
	" AND TargetInstance.Path Like '\\test\\%'")

Те, получаю евент и обрабатываю его так:

Код: plaintext
1.
2.
3.
4.
5.
Do While(True)
    Set objReceivedEvent = objEvents.NextEvent
    Debug.WriteLine objReceivedEvent.CIMTYPE
    Body = "File modifed: " & objReceivedEvent.TargetInstance.FileName & "  " & objReceivedEvent.TargetInstance.Name
    Call SendPost("mail2", "apatkin@mera.ru;richard@mera.ru;kloodj@mera.ru", "apatkin@mera.ru", "File modifed", body)
Loop

Однако в поле зрения __InstanceOperationEvent попадает копирование, изменение, удаление, вот как отследить какое именно событие произошло?

Когда писал WQL запрос в Wbemtest, то в результат выходили конкретные типы событий, те как то это можно делать.

Также возникают проблемы с отображением кирилици после пересылки оповещений, можно как указать в функции отправки почты какую кодировку использовать?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Function SendPost(strSMTP_Server, strTo, strFrom, strSubject, strBody)
    Set iMsg = CreateObject("CDO.Message")
    Set iConf = CreateObject("CDO.Configuration")
    Set Flds = iConf.Fields
    Flds.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") =  2 
    Flds.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = strSMTP_Server
    Flds.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") =  10 
    Flds.Update
    iMsg.Configuration = iConf
    iMsg.To = strTo
    iMsg.From = strFrom
    iMsg.Subject = strSubject
    iMsg.TextBody = strBody
    iMsg.Send
End Function
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Пара вопросов по WMI???
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]