gifts2017

Список ПК из 1cv7.mlg

Опубликовал {ÐƦǑƝȊ} mx (dour-dead) в раздел Администрирование - Журнал регистрации

Обработка умеет получить из журнала регистрации (1cv7.mlg), имена ПК, подключавшиеся к ИБ.

Потребовалось узнать имена ПК, которые подключались к ИБ за все время работы.

Написал обработку, которая получает из файла 1cv7.mlg имена ПК.

Так же есть возможность анализа нескольких файлов 1cv7.mlg, и получение общего списка без задвоений в имени ПК, данная возможность сделана для анализа нескольких ИБ в одной сети. 

НЕ РЕКОМЕНДУЕТСЯ ИСПОЛЬЗОВАТЬ ДЛЯ БОЛЬШИХ ЖУРНАЛОВ РЕГИСТРАЦИИ

Добавил печатную форму, в неё теперь выводятся  имя ПК, время и дата последнего подключения.


Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Список ПК
.rar 11,56Kb
31.01.12
20
.rar 11,56Kb 20 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Алексей Плутенко (Noy) 30.01.12 18:08
За
СоздатьОбъект("Текст")
уже можно "-" ставить.

гораздо быстрее будет
find "OpenSession" 1cv7.mlg >comp.csv
и в екселе потом глянуть результат.
2. {ÐƦǑƝȊ} mx (dour-dead) 30.01.12 18:14
тестировал на файле в 40 метров, обработки выполняется за 15 сек... да и особой производительности мне не требовалось.
3. Алексей Плутенко (Noy) 30.01.12 19:34
(2) не поленился и проверил...
файл mlg - 143Мб, 1650000 строк
dir отработал за 28 секунд (отобрал 23000 строк)
твоя обработка за 59 минут 57 секунд

Комп: двухъядерный атлон 2.1 рам 3Гб, винт - ССД (линейное чтение около 250Мб/сек)
естественно mlg лежит на этом же диске...

Боюсь представить что у тебя за комп, что 40 МБ за 15 сек обработал

ЗЫ в результатах отображаются строки, в комментарии которых присутствует слово "компьютер" :)
4. Алексей Плутенко (Noy) 30.01.12 20:11
в дополнение:
на этой же конфигурации обработка http://infostart.ru/public/18879/ справилась за 80 секунд.
Так что рекомендую не использовать объект "текст" для парсинга больших файлов.
5. {ÐƦǑƝȊ} mx (dour-dead) 30.01.12 21:04
(3) Noy,
ну вот, я думал, обработка не кому нужна не будет, а тут уже первые тесты.
завтра приду на работу скину тебе конфигу компа. и если хочешь сам файл)))
ну а как ещё определить, какие компы подключались к ИБ? я вот проще метода не нашел... можешь подсказать свои идеи... учту в будущем... а насчёт производительности я тебе уже писал, что такой задачи не было.
6. {ÐƦǑƝȊ} mx (dour-dead) 30.01.12 21:13
(4) Noy, подправил описание к обработки, специально для тебя.
7. Алексей Плутенко (Noy) 30.01.12 21:49
(5) У меня претензии к производительности и к ошибкам.
Сама идея хорошая. Только добавь информацию о дате/времени последнего подключения - и вообще будет хорошо.
8. Владислав Чинючин (vcv) 31.01.12 07:11
Для простого пользователя нормальная обработка.
Для уважающего себя программера подобные мелкие нужды полезно уметь решать более предназначенными для этого средствами.
Например, команда командной строки Windows
for /F "tokens=11 delims=:;" %i in ('findstr ";E;Sys;OpenSession;" 1cv7.mlg') do @echo %i >comps.lst
сохранит в файле comps.lst все имена компьютеров, с которых были подключения в режиме Предприятие.
Остаётся вывести результат без дубляжей
sort comps.lst | uniq
(uniq - портированная с линуксов утилита для отбора из текстового файла неповторяющихся строк)
9. Александр Лыткин (TrinitronOTV) 31.01.12 08:07
интересная дискуссия идет, почерпнул новой инфы полезной, спасибо
10. {ÐƦǑƝȊ} mx (dour-dead) 31.01.12 08:45
`(3) Noy, повесил на обработку счётчик времени, которое затрачивается на обработку файла
сори немного соврал с размером файла, он был 23 метра (строк 209649), время обработки 27 сек.
так что

dir отработал за 28 секунд (отобрал 23000 строк)


это как то совсем не показатель.

сегодня взял лог с рабочей БД.
файл 501220 строк время выполнения 118 сек (размер 55 мб)
машина проц. Intel® Core™ i5-2300 CPU @ 2.80GHz памяти 3gb, винт обычный sataII
11. {ÐƦǑƝȊ} mx (dour-dead) 31.01.12 08:47
(8) vcv, Пожалуйста, объясните подробнее, как этим пользоваться:

for /F "tokens=11 delims=:;" %i in ('findstr ";E;Sys;OpenSession;" 1cv7.mlg') do @echo %i >comps.lst
12. Владислав Чинючин (vcv) 31.01.12 09:24
(11) Это командная строка Windows.
Запускаешь сначала командную строку "Пуск / Выполнить" и пишешь cmd
В открывшейся консоли пишешь команды.
Что бы понять что и зачем ознакомься с командами

help
help for
help findstr

Начать можно с википедии: http://ru.wikipedia.org/wiki/%D0%9F%D0%B0%D0%BA%D0%B5%D1%82%D0%BD%D1%8B%D0%B9_%D­1%84%D0%B0%D0%B9%D0%BB

Воспользоваться командой из (8) можно просто:
1. Открываешь Блокнот (notepad.exe)
2. Пишешь текст
for /F "tokens=11 delims=:;" %%i in ('findstr ";E;Sys;OpenSession;" 1cv7.mlg') do @echo %%i >comps.lst
3. Сохраняешь в папку "SYSLOG" под именем "comps.cmd" (расширение файла должно быть именно "cmd", "txt", которое предложит Блокнот нужно убрать)
4. Запускаешь из проводника сохранённый файл, он отработает и в папке появится результирующий файл comps.lst
13. {ÐƦǑƝȊ} mx (dour-dead) 31.01.12 09:52
(12) vcv, Спасибо!
Написал, запускаю, нет ни ошибок, не результата...
14. {ÐƦǑƝȊ} mx (dour-dead) 31.01.12 11:36
(7) Noy,
Только добавь информацию о дате/времени последнего подключения - и вообще будет хорошо.


добавил
15. Сергей (Che) Коцюра (CheBurator) 18.04.12 01:26
хочется видеть в отчете входы, по которым не было выходов...
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа