главная    •     Новости      •     софт      •     RSS-ленты     •     реклама      •     PDA-Версия      •    Контакты
Windows XP    •      Windows 7     •    Windows 8    •    Windows 9-10-11     •    Windows Server     •    Железо
Советы      •     Администрирование      •     Сеть      •     Безопасность      •     Статьи      •     Материалы
Реклама на сайте
Книга жалоб и предложений
Правила на сайте
О Winblog.ru и о копирайте
Написать в редакцию
Конфиденциальность
                       
  • Microsoft Edge - еще более безопасный!
  • ActiveCloud - надежный провайдер облачных услуг для вашей компании
  • ANYSERVER - ваш поставщик б/у серверов из Европы
  • Настройка контекстной рекламы в Yandex и Google: Эффективный путь к росту вашего бизнеса
  • Коммутаторы с функцией PoE: Обеспечение эффективной передачи данных и питания
  • Очередное обновление сломало выключатель компьютеров на Windows 11
  • Интерфейс командной строки

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

    Для вызова интерфейса командной строки нужно ввести вот такую команду:

    iehv [/действие] ["файл_назначения"] {-тип источника} {"источник"}

    Действие: указывает IEHV, в файл какого типа экспортировать историю. Доступные опции аналогичны опциям диалогового окна «Сохранить» (Save) в графическом интерфейсе утилиты.
    Файл назначения: абсолютный или относительный путь и имя файла для сохранения экспортируемых данных.
    Тип источника и источник: дополнительные параметры для выбора другого пользователя (действуют аналогично опциям, показанным на рис. D).

    На рис. I показаны неудачные эксперименты с опциями командной строки, а также простая команда для экспорта полной истории пользователя «TRTest» в файл таблицы, разделенной пробелами, «export.tab». Для простого просмотра истории интерфейс командной строки не подходит, но зато он очень удобен для составления отчетов и архивации.

    Отслеживание истории посещения сайтов каждого пользователя
    Рисунок I. Командная строка


    Сбор и архивация данных

    В этом разделе я просто попытаюсь доказать свою концепцию, поэтому предложенные здесь решения ни в коем случае не стоит воспринимать как абсолютные и всеобъемлющие. Для примера я воспользуюсь языком VB.NET 2005.

    Суть концепции заключается в записи данных во временный файл с помощью интерфейса командной строки и импорт этого файла в приложение VB.NET для сбора и архивации данных. Сложность состоит в том, что для каждого компьютера/учетной записи/папки, историю которых нужно архивировать, придется написать собственную команду.

    Для команд Visual Basic существует лишь несколько опций. Можно было бы воспользоваться командой Shell(), но она выводит весьма ограниченное количество данных и к тому же славится своим капризным характером. В .NET Framework в пространстве имен System.Diagnostics есть класс Process, который, на мой взгляд, несколько надежнее в этом отношении, так что воспользуемся лучше им.

    ПРИМЕЧАНИЕ: Подробнее об этом читайте в документации для System.Diagnostics.Process.

    В классе Process, помимо всего прочего, есть опции для имени файла (File Name) и аргументов (Arguments). В нашем случае имя файла — это полный путь к исполняемому файлу IEHV, а аргументы мы позже заполним индивидуальным набором опций. Нужная нам команда выглядит так:

    iehv /stab "%temp%iehv.tab" -folder "путь_к_папке_истории_IEHV"

    Эта команда экспортирует данные из указанной папки истории во временный текстовый файл таблицы, разделенной пробелами, в папке временных файлов пользователя. Для начала уберем iehv, потому что эта команда будет указана в свойствах опции «Имя файла» класса Process. Теперь воспользуемся .NET Framework, чтобы получить путь к папке временных файлов пользователя и заменить его на %temp%. Наконец, нужно написать код для вывода приглашения к указанию пути для импорта файла в выбранное приложение.

    Это можно сделать разными способами — в зависимости от сложности выбранного приложения и от того, сколько папок требуется импортировать за один раз. Для иллюстрации нашей концепции предположим, что нам необходимо получить историю посещений для всех пользователей одного конкретного компьютера и загрузить эту информацию в класс DataTable, связанный с внутренней базой данных.

    Код, показанный в листинге A, представляет собой фрагмент общего кода, предназначенного для получения данных из папки временных файлов пользователя, экспорта истории Internet Explorer из всех пользовательских каталогов и импорта ее в DataTable.

    Листинг A
    Dim strTempDir As String = _ 
    Environment.GetEnvironmentVariable("temp", _ EnvironmentVariableTarget.User) 
    For Each strProfileDir As String In _ 
    IO.Directory.GetDirectories("\" & Me.txtComputerName.Text & _ 
    "c$documents and settings") 
          Dim strProfileDirParts As String() = strProfileDir.Split("\"c) 
          Dim strProfileName As String = _ 
    strProfileDirParts(strProfileDirParts.Length - 1) 
    Me.psIEHV.StartInfo.Arguments = "/stab """ & strTempDir & _ 
    "iehv.txt"" -folder ""\" & _ 
    Me.txtComputerName.Text & _ 
    "c$Documents and Settings\" & _ 
    strProfileName & "Local SettingsHistory\""" 
    Me.psIEHV.Start() 
    Do While Me.psIEHV.HasExited = False 
    Loop 
    If Me.psIEHV.HasExited = True Then 
                 Dim fs As New FileStream(strTempDir & "iehv.txt", _ 
    FileMode.Open, FileAccess.Read) 
                 Dim sr As New StreamReader(fs) 
                 Dim strImport As String = sr.ReadToEnd() 
                 For Each strEntry As String In _ 
    strImport.Split(New String() {ControlChars.CrLf}, _ 
    StringSplitOptions.RemoveEmptyEntries) 
                       strEntry = strEntry.Substring(0, strEntry.Length - 1) 
                       Dim strEntryParts As New List(Of String) 
                       strEntryParts.Add(strComputer) 
    strEntryParts.AddRange(strEntry. _ 
    Split(ControlChars.Tab)) 
                       Me.DsHistory.dtHistory.Rows.Add(strEntryParts. _ 
    ToArray()) 
                 Next 
                 sr.Close() 
                 fs.Close() 
                 sr = Nothing 
                fs = Nothing 
    End If 
    Next

    Общие соображения

    Утилита IEHistoryView позволяет администраторам быстро получить доступ к истории посещения сайтов для каждого пользователя, не требуя при этом сложной настройки и предварительной подготовки. Для расширенного архивирования можно использовать интерфейс командной строки в сочетании с собственным программным кодом, чтобы создать простой и недорогой (время — деньги) монитор для наблюдения за тем, какие сайты пользователи посещают в Интернете.

    Стоит отметить, что наблюдать за посещением сайтов с помощью IEHV можно только в том случае, если пользователи не удаляют свой журнал посещений в Internet Explorer. К счастью, это можно предотвратить с помощью свойств групповой политики (Group Policy).

    Автор: Mark Kaelin
    Перевод: SVET
    Назад Вперед


    Оцените статью: Голосов

    Материалы по теме:
  • Использование утилиты коммандной строки для работы с FTP в Windows Vista
  • Использование команды Route с помощью мини-приложения для Windows Vista и Windows 7
  • Экспортирование зон DNS в текстовый файл
  • Использование утилиты tcpdump для анализа трафика
  • Где можно достать справку по всем командам Netsh
    1. #5

      можно еще через программу JETLOGGER посещенные сайты просматривать

    2. #4

      Случайно удалила Opera, в ней были важные закладки, которые не сохранились в новой версии. Замечательная программа! Помогла восстановить не только все закладки, правда в отдельный файл, но и просмотреть все действия со дня покупки ПК. Теперь можно все отсортировать. СПАСИБО!

    3. #3

      Вот чтоб Админ нигде не копался, клёвая програмка Kidlogger по мониторингу, отчёты с компа отправляет либо на мыло либо на серверв учётную запись. Сама программа бесплатная.

    4. #2

      Например фаервол идеальное средство для подобного...запретил нафиг 80 порт или в доверенные узлы добавить только пару сервисов необходимых для компании и всё...а для домашнего использования возможно очень даже неплохая вещь)

    5. #1

      В нормальных компаниях на интернет-шлюзах и так есть программы, которые ведут логи посещенных страниц.
      Админу больше заняться нечем, кроме как ходить рыться по чужим компьютерам в поисках компромата!




    Для отправки комментария, обязательно ответьте на вопрос

    Вопрос:
    Сколько будет семь плюс пять?
    Ответ:*




    ВЕРСИЯ ДЛЯ PDA      СДЕЛАТЬ СТАРТОВОЙ    НАПИШИТЕ НАМ    МАТЕРИАЛЫ    ОТ ПАРТНЁРОВ

    Copyright © 2006-2022 Winblog.ru All rights reserved.
    Права на статьи принадлежат их авторам. Копирование и использование материалов разрешается только в случае указания явной гиперссылки на веб-сайт winblog.ru, как на источник получения информации.
    Сайт для посетителей возрастом 18+