Заметки сисадмина » IP кто заходил на терминальный сервер

Заметки сисадмина о интересных вещах из мира IT, инструкции и рецензии. Настраиваем Компьютеры/Сервера/1С/SIP-телефонию в Москве

IP кто заходил на терминальный сервер

2016-04-01 · Posted in Windows Server 2008

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

Во первых, чтобы собрать такую информацию необходимо включить аудит успешных входов в с систему делаем это так. Заходим в групповую политику и далее “Конфигурация компьютера” – “Конфигурация Windows” – “Параметры безопасности” – “Локальные политики” – “Политики аудита” – “Аудит входа в систему” поставить “Успех”, желательно еще поставить “Отказ” для отслеживания попыток брутфорса.

Теперь у нас в журнале безопасности при удачном входе в систему будут регистрироваться  события с кодом 528. Можно кончено перелопатить журнал и искать их. Но лучше установить PowerShell и воспользоваться скриптом, который я привожу ниже, оный я также нашел на просторах инета.
Итак устанавливаем PowerShell, думаю тем, кто собрался собирать IP про установку расказывать не нужно, если что пишите в коменты. И создаем файл например users_login.ps1 и вставляем в него следующее содержимое:

И сохраняем его например на С:.
Далее заходим в PowerShell и запускаем его введя C:\users_login.ps1 здесь обратите внимание на строку $Data>>C:\out.txt она указывает файл, куда будет записываться итоговая информация.

Также обратите внимание, что у меня в скрипте типы полей на русском Тип входа, Пользователь, Адрес сети источника у кого не руссифицированый Windows соответсвенно ставим английские аналоги.

One Response

  1. Roman says:

    Доброго дня! Наткнулся на Ваше решение. Воспользовался, однако PS вываливает ошибки.
    Не могли ли Вы проверить Ваш скрипт, а то на WinServ2008R2 при запуске Вашего скрипта выдает ошибку:
    “Нельзя вызвать метод для выражения со значением NULL.
    C:\user_login_WinServ2008.ps1:7 знак:59
    + $Data.time = $_.TimeGenerated; $message = $_.message.split <<<< ("n") | %{$_.trimstart()} | %{$_.trimend()}
    + CategoryInfo : InvalidOperation: (split:String) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

Leave a Reply for Roman