Привет, нужен подобный скрипт, почитав пару статей сделал наброски.
Код:
strDir = "\\Shares\\Admins docs\\"
strComputer = "fs"
Dim Body
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
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMv2")
Set objEvents = objWMIService.ExecNotificationQuery _
("SELECT * FROM __InstanceOperationEvent WITHIN 5 WHERE " & _
"TargetInstance ISA 'CIM_DataFile'" & _
" AND TargetInstance.Drive = 'e:'" & _
" AND TargetInstance.Path ='" & strDir & "'")
Do While(True)
Set objReceivedEvent = objEvents.NextEvent
Body = "File modifed: " & objReceivedEvent.TargetInstance.FileName & " " & objReceivedEvent.TargetInstance.Name
Call SendPost("mail2", "kloodj@xxx.ru", "apatkin@xxx.ru", "File modifed", body)
' WScript.Echo "File modifed: " & objReceivedEvent.TargetInstance.FileName
' WScript.Echo "Name: " & objReceivedEvent.TargetInstance.Name
Loop
Все хорошо, но возникают проблеммы с кодировкой имен файлов записаных на кирилице, а также можно отследить какое событие происходит? Например создан, модифицирован, удален?
И можно ли реализовать чтобы скрипт так же отслеживал сабдерриктории?
P.S. понимаю что есть раздел ря вбс, но за целый день его так не кто и не посетил(