Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Автоматизация администрирования. Часть 2

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

ShriEkeR (23-05-2011 23:06): Автоматизация администрирования. Часть 3  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

niichavo



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
 
'комп, где запускаем скрипт
strComputer = "TargetComp"
'комп, куда отсылаем сообщения
strAdminCompName = "YaOdminko"
strDrive = "e:"
strPath = "\\папка за которой следим\\"
strFileName = "файлО_за_которым_следим.txt"
 
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
 
Set colFiles = objWMIService. _
    ExecQuery("Select * From CIM_DataFile Where Name = '" & strDrive & strPath & strFileName & "'")
 
If colFiles.Count = 0 Then
    MyNetSend("Нетути файла")
Else
    MyNetSend("ФайлО на месте")
End If
 
 
Dim Body
 
Set objEvents = objWMIService.ExecNotificationQuery _
("SELECT * FROM __InstanceOperationEvent WITHIN 5 WHERE " & _
    "TargetInstance ISA 'CIM_DataFile'" & _
    " AND TargetInstance.Drive = '" & strDrive & "'" & _    
    " AND TargetInstance.Hidden <> 1" & _
    " AND TargetInstance.Path = '" & strPath & "'")
 
'Wscript.Echo "Ожидаем события ..."
Do While(True)
    Set objLatestEvent = objEvents.NextEvent
 
    Select Case objLatestEvent.Path_.Class
 
    Case "__InstanceCreationEvent"
        tmpFileName = objLatestEvent.TargetInstance.FileName _
            & "." & objLatestEvent.TargetInstance.Extension
        If LCase(tmpFileName) = LCase(strFileName) Then
            Body = Now & vbTab & "Файл """ & tmpFileName & _
            """ был создан" & vbCrLf
            MyNetSend(Body)
        End If    
 
    Case "__InstanceDeletionEvent"
        tmpFileName = objLatestEvent.TargetInstance.FileName _
            & "." & objLatestEvent.TargetInstance.Extension
        If LCase(tmpFileName) = LCase(strFileName) Then
            Body = Now & vbTab & "Файл """ & tmpFileName & _
            """ был удалён" & vbCrLf
            MyNetSend(Body)
        End If    
 
    Case "__InstanceModificationEvent"
        tmpFileName = objLatestEvent.TargetInstance.FileName _
            & "." & objLatestEvent.TargetInstance.Extension
        If objLatestEvent.TargetInstance.LastModified <> _
           objLatestEvent.PreviousInstance.LastModified And _
           LCase(tmpFileName) = LCase(strFileName) Then
                Body = Now & vbTab & "Файл """ & tmpFileName & _
                """ был изменён" & vbCrLf
                MyNetSend(Body)
        End If
End Select
     
 
Loop
 
 
'========== net send ===========
 
Function MyNetSend(strBody)    
    Set WshShell = CreateObject("WScript.Shell")
    WshShell.Run "net send " & strAdminCompName & " " & strBody
End Function
 

Всего записей: 836 | Зарегистр. 14-09-2005 | Отправлено: 17:29 27-05-2009 | Исправлено: niichavo, 09:26 28-05-2009
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Автоматизация администрирования. Часть 2
ShriEkeR (23-05-2011 23:06): Автоматизация администрирования. Часть 3


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru