1

Тема: VBScript: утилита LogParser от Microsoft, COM-интерфейс

Утилита LogParser, как оказалось, обладает развитым COM-интерфейсом и заслуживает тщательного изучения, имхо . Вот, например, поиск всех dll-файлов на диске C:

Set oLogQuery = CreateObject("MSUtil.LogQuery")
Set oFormat = CreateObject("MSUtil.LogQuery.FileSystemInputFormat")
Set oRecordSet = oLogQuery.Execute("SELECT * FROM C:\*.dll", oFormat)
' WScript.Echo oRecordSet.getColumnCount()
i = 0
While Not oRecordSet.atEnd
    Set oRecord = oRecordSet.getRecord()
    strValue = oRecord.getValue("Path")
    WScript.Echo strValue
    i = i + 1
    oRecordSet.moveNext
Wend
oRecordSet.Close
WScript.Echo "На диске ""C:"" найдено dll-файлов: " & i

Интересно, что первый раз такой скрипт у меня выполнялся ~230 сек., второй и последующие разы ~21сек.

Предложения в русском языке начинаются с большой буквы и заканчиваются точкой.
В названии ветки всегда должен быть указан язык программирования или среда исполнения скрипта, если это возможно.

2

Re: VBScript: утилита LogParser от Microsoft, COM-интерфейс

Кэш?

3

Re: VBScript: утилита LogParser от Microsoft, COM-интерфейс

alexii пишет:

Кэш?

Не знаю .

Предложения в русском языке начинаются с большой буквы и заканчиваются точкой.
В названии ветки всегда должен быть указан язык программирования или среда исполнения скрипта, если это возможно.

4 (изменено: wictor, 2007-12-08 18:16:17)

Re: VBScript: утилита LogParser от Microsoft, COM-интерфейс

Обычно в практике нужно узнать не сколько файлов в каталоге по маске.
Состояние открыт -кем открыт -на чтение -на запись .
И возможно ли отключить пользователя - например от базы данных .
CreationTime                           
LastAccessTime                         
LastWriteTime

Интерсная ссылка :

http://www.iis.net/default.aspx?tabid=2&subtabid=29#LogParser

files.bat c:\windows\*.exe  (Пример)

@Echo off
If "%1"=="" goto end 
Echo on
LogParser -i:FS -o:NAT -q:on "SELECT  CreationTime, Size, Name, Attributes, Path  FROM %1  ORDER BY Size"  
goto stop
@Echo off
:end
echo нет строковой переменной
:stop

logparser должен быть установлен !
работа программы 3-4 секунды
Соврал - короче время засеч не ;)успел


Возможности Выборки :

Path                                          STRING Full path of the file or directory 
Name                                        STRING Name of the file or directory 
Size                                          INTEGER Size of the file, in bytes 
Attributes                                  STRING Attributes of the file or directory 
CreationTime                            TIMESTAMP Date and time at which the file or directory has been created (local or UTC time, depending on the value of the useLocalTime parameter) 
LastAccessTime                         TIMESTAMP Date and time at which the file or directory has been last accessed (local or UTC time, depending on the value of the useLocalTime parameter) 
LastWriteTime                           TIMESTAMP Date and time at which the file or directory has been last modified (local or UTC time, depending on the value of the useLocalTime parameter) 
FileVersion                                STRING Version of the file 
ProductVersion                          STRING Version of the product the file is distributed with 
InternalName                            STRING Internal name of the file 
ProductName                            STRING Name of the product the file is distributed with 
CompanyName                         STRING Name of the vendor company that produced the file 
LegalCopyright                          STRING Copyright notices that apply to the file 
LegalTrademarks                       STRING Trademarks and registered trademarks that apply to the file 
PrivateBuild                               STRING Private version information of the file 
SpecialBuild                              STRING Special file build notes 
Comments                                STRING Comments associated with the file 
FileDescription                           STRING Description of the file 
OriginalFilename                        STRING Original name of the file

5

Re: VBScript: утилита LogParser от Microsoft, COM-интерфейс

wictor
Не торопись .
Во-первых, пример работы с LogParser из командной строки для обращения к файловой системе уже есть в Коллекции: CMD/BAT: отчёт по свойствам файлов по маске с помощью Log Parser.
Во-вторых, здесь речь именно о COM-интерфейсе LogParser'а, а не об интерфейсе командной строки.

wictor пишет:

Состояние открыт -кем открыт -на чтение -на запись .
И возможно ли отключить пользователя - например от базы данных .

Как раз эти проблемы LogParser'ом НЕ решаются. Свойства LastAccessTime, LastWriteTime и т.д. тут, имхо, не при чём.

Предложения в русском языке начинаются с большой буквы и заканчиваются точкой.
В названии ветки всегда должен быть указан язык программирования или среда исполнения скрипта, если это возможно.

6 (изменено: wictor, 2007-12-09 00:03:28)

Re: VBScript: утилита LogParser от Microsoft, COM-интерфейс

Пример logon.cmd
получаем фаил Report.xml
так как sql не вынесен за пакетный файл запрос пишем одной строкой .

LogParser "SELECT TimeGenerated AS LogonDate, EXTRACT_TOKEN(Strings, 0, '|') AS Account INTO Report.xml FROM Security WHERE EventID NOT IN (541;542;543) AND EventType = 8 AND EventCategory = 2"

Исходный собран с помощью visual[ log parser:

<?xml version="1.0" encoding="us-ascii" standalone="yes"?>
<query>
  <inputName>EVT</inputName>
  <text>LogParser "SELECT TimeGenerated AS LogonDate, EXTRACT_TOKEN(Strings, 0, '|') AS Account INTO Report.xml FROM Security WHERE EventID NOT IN (541;542;543) AND EventType = 8 AND EventCategory = 2"
</text>
  <inputFormat>
    <fullText>True</fullText>
    <resolveSIDs>False</resolveSIDs>
    <formatMessage>True</formatMessage>
    <formatMsg>True</formatMsg>
    <msgErrorMode>MSG</msgErrorMode>
    <fullEventCode>False</fullEventCode>
    <direction>FW</direction>
    <stringsSep>|</stringsSep>
    <iCheckpoint />
    <binaryFormat>HEX</binaryFormat>
  </inputFormat>
</query>

7

Re: VBScript: утилита LogParser от Microsoft, COM-интерфейс

По теме ссылка - http://blogs.technet.com/mscom/archive/2006/10/25/yes-we-recycle-that-includes-apppools.aspx

8

Re: VBScript: утилита LogParser от Microsoft, COM-интерфейс

The gray Cardinal, у вас в первом посте пример поиска *.dll на диске C:\. А как сделать с помощью LogParser поиск нескольких расширений на нескольких дисках?

Кстати, у меня ваш скрипт выдал ошибку

9

Re: VBScript: утилита LogParser от Microsoft, COM-интерфейс

griha09 пишет:

The gray Cardinal, у вас в первом посте пример поиска *.dll на диске C:\. А как сделать с помощью LogParser поиск нескольких расширений на нескольких дисках?

В комплекте поставки идёт подробный файл справки. Рекомендуется читать его.

… FROM C:\*.dll, D:\*.dll, C:\*.exe, D:\*.exe

Либо искать всё «*.*», отбирать потребное условиями в «WHERE».

griha09 пишет:

скрипт выдал ошибку

Нажмите Ctrl-C, затем вставляйте сюда текст. Проще, быстрее и правильнее.