Windows Server 2008: Получить список RDP пользователей, активных в последнее время.

В процессе лицензирования ПО в организации порой возникает необходимость посчитать актуальное количество активных RDP-пользователей. Подключения по RDP Windows Server фиксирует в журнал службы терминалов. Остается только из этого журнала получить список пользователей. Не исключаю, что есть более красивый вариант решения, но ваш покорный слуга его с разбегу не нашел, поэтому сделал так.

Находим нужный нам журнал и сохраняем все события:

Панель управления --> Администрирование --> Просмотр событий.

Журналы приложений и служб. --> Microsoft --> Windows --> TerminalServices-LocalSessionManager.

Журнал Operational --> Сохранить все события как ... Выбираем имя файла и тип Text.

Нужно оставить только строчки которые начинаются со слова "Пользователь:". Можно было запилить нехитрый скриптик для этого, но ваш покорный слуга поленился и взял уже готовый word-овский макрос. Текст макроса:


Sub ВначалеНеСЛОВО_вон()
Const СЛОВО = "Пользователь"
Dim abz As Paragraph 'переменная для работы с абзацем
Dim k As Long   'счётчик удалённых строк (абзацев, где вначале стоит не СЛОВО)
 
'Для надёжности сначала заменим разрывы строк (код 11) на символы абзаца (код 13)
ActiveDocument.Range.Text = Replace(ActiveDocument.Range.Text, Chr(11), Chr(13))
'Теперь каждая строка (в т. ч. пустая)- это отдельный абзац.
 
    For Each abz In ActiveDocument.Paragraphs 'перебор всех абзацев
        While abz.Range.Characters(1) = " ": abz.Range.Characters(1).Delete: Wend
       
        If Trim(abz.Range.Words(1)) <> СЛОВО Then abz.Range.Delete: k = k + 1
        'Удалили абзац, где 1-е слово (без учёта пробелов) не СЛОВО
    Next
End Sub


На выходе получаем список пользователей с повторяющимися значениями. Опять же не стал изобретать велосипед, просто скопировал список в excel и выполнил удаление дубликатов. (Данные -> Удалить дубликаты.) После этого мы получили список активных пользователей.

Максимальный размер журнала по умолчанию равен 1МБ. На сервере в 15-20 пользователей у меня сохранились события примерно за последние 20 дней. Если нужна статистика за большее количество  времени или пользователей значительно больше, журнал можно расширить по своему усмотрению.

 
1 1 1 1 1 1 1 1 1 1 Рейтинг 0.00 [0 Голоса (ов)]

Добавить комментарий