Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Отбор по дате

Ответить
Настройки темы
VBS/WSH/JS - Отбор по дате

Новый участник


Сообщения: 33
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Изменения
Автор: Cyril
Дата: 28-12-2019
Есть такой скрипт для вывода напечатанных заданий:
Код: Выделить весь код
Set objShell = Wscript.CreateObject("Wscript.Shell")
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colRetrievedEvents = objWMIService.ExecQuery _
    ("Select TimeGenerated,InsertionStrings from Win32_NTLogEvent where LogFile='System' and SourceName='Print' and EventCode = '10'")
For Each objEvent in colRetrievedEvents
    Wscript.Echo objEvent.TimeGenerated & " " & objEvent.InsertionStrings(2) & " " & objEvent.InsertionStrings(3) & " " & objEvent.InsertionStrings(6) & " стр." & objEvent.InsertionStrings(1)
Next
1. Нужно изменить select, чтобы отбор был за текущий месяц
2. Нужно выводить objEvent.TimeGenerated в читаемом виде
3. Нужно вывести данные в csv файл
4. Нужно подсчитать сумму objEvent.InsertionStrings(6) по каждому значению из objEvent.InsertionStrings(3)

Отправлено: 12:11, 28-12-2019

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Cyril, какая ОС на той машине, с которой будут собираться данные логи?

Отправлено: 22:40, 28-12-2019 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Старожил


Сообщения: 245
Благодарности: 49

Профиль | Отправить PM | Цитировать


Cyril,
нужно - значит нужно
начинайте пожалуйста выполнять, и вам помогут
Это сообщение посчитали полезным следующие участники:

Отправлено: 00:55, 29-12-2019 | #3


Новый участник


Сообщения: 33
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


ОС Windows 2003.
по пункту 1 я добавил в select "and TimeGenerated>='20191201'". Как задать текущий месяц - не знаю. Видимо надо сначала функцию Now использовать...
по второму пункту я могу только из строки вырезать подстроки и конкатенацией сконструировать строку с удобочитаемой датой.
Код: Выделить весь код
dt = Mid(objEvent.TimeGenerated,7,2) & "." & Mid(objEvent.TimeGenerated,5,2) & "." & Mid(objEvent.TimeGenerated,1,4) & " " & Mid(objEvent.TimeGenerated,9,2) & ":" & Mid(objEvent.TimeGenerated,11,2)
с 3 пунктом я справился так:
Код: Выделить весь код
Dim fso, tf
Set fso = CreateObject("Scripting.FileSystemObject")
Set tf = fso.CreateTextFile("c:\print.csv", True)
For Each objEvent in colRetrievedEvents
    str = objEvent.TimeGenerated & ";" & objEvent.InsertionStrings(2) & ";" & objEvent.InsertionStrings(3) & ";" & objEvent.InsertionStrings(6) & ";" & objEvent.InsertionStrings(1)
	WScript.Echo str
	tf.WriteLine (str)
Next
tf.Close
по 4 пункту, я так понял, надо объект dictionary использовать...

Последний раз редактировалось Cyril, 30-12-2019 в 10:01.


Отправлено: 09:40, 30-12-2019 | #4


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6491
Благодарности: 1465

Профиль | Отправить PM | Цитировать


Cyril, на Powershell не хотите реализовать?

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Отправлено: 10:03, 30-12-2019 | #5


Новый участник


Сообщения: 33
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


DJ Mogarych, На PS уже реализовал. Но оно долго работает. Get-EventLog пол минуты обрабатывает лог-файл.

Последний раз редактировалось Cyril, 30-12-2019 в 10:43.


Отправлено: 10:32, 30-12-2019 | #6


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата Cyril:
ОС Windows 2003. »
К сожалению, у меня нет сейчас Windows Server 2003, а на новых ОС хранение уже в других жураналах, и в другом виде. Можно, конечно, под виртуальной машиной скрипт поотлаживать, но как-то нет большого желания .

Цитата Cyril:
Но оно долго работает. Get-EventLog пол минуты обрабатывает лог-файл. »
Cyril, а Вы думаете — на WSH быстрее будет? Я лично так не думаю. Разве что LogParser будете пользовать: по опыту он шустрее всего работал.

Отправлено: 14:18, 01-01-2020 | #7


Новый участник


Сообщения: 33
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Iska, на WSH немного быстрее получается. Нас интересуют только последние записи журнала. Смысла нет обрабатывать весь 16 мегабайтный лог файл.

Отправлено: 10:23, 09-01-2020 | #8


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6491
Благодарности: 1465

Профиль | Отправить PM | Цитировать


Цитата Cyril:
На PS уже реализовал. Но оно долго работает. Get-EventLog пол минуты обрабатывает лог-файл. »
Вот это долго работает? (записи за текущий месяц)
Код: Выделить весь код
Get-EventLog System -After (get-date -f 01.MM.yyyy)

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)

Это сообщение посчитали полезным следующие участники:

Отправлено: 11:06, 09-01-2020 | #9


Новый участник


Сообщения: 33
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


DJ Mogarych, спасибо. так быстрее

Отправлено: 12:01, 09-01-2020 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Отбор по дате

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Прочие - [решено] Сортирование файлов по папкам (копирование по дате создания) DIMM2005 Программное обеспечение Windows 36 03-01-2020 16:54
CMD/BAT - Отбор файлов по возрасту Udar_Nick Скриптовые языки администрирования Windows 1 06-05-2016 19:19
Разное - [решено] Отбор запоминающих устройств по идентификационному номеру Briolin Microsoft Windows 2000/XP 4 14-11-2014 18:17
Любой язык - Отбор изображений по цвету/каналу, определение цветовой информации Tosyk Скриптовые языки администрирования Windows 2 03-01-2011 08:27
VBS/WSH/JS - Отбор файлов по расширению, последующее их удаление. SaintVictor Скриптовые языки администрирования Windows 3 22-05-2010 13:21




 
Переход