Назад | Перейти на главную страницу

Как найти имя компьютера, на котором зарегистрировался пользователь

Есть ли инструмент, сценарий или какой-либо другой способ узнать, с каким именем компьютера в данный момент находится конкретный пользователь? Или даже был авторизован?

Допустим, пользователь «HRDrone» работает на своей машине с именем хоста «HRStation01».

Я, сидя за своим столом системного администратора, знаю только, что имя пользователя - «HRDrone». Каким образом я могу узнать, что он вошел в систему "HRStation01", не спрашивая пользователя? Средство просмотра событий AD? что-нибудь?

Спасибо!

Есть отличная утилита Sysinternals, которая сделает это за вас - PsLoggedOn

Дешевый трюк, который я часто использую, - это посмотреть на «Сеансы», перечисленные в разделе «Общие папки» консоли «Управление компьютером», нацеленной на компьютер с файловым сервером, где, как я знаю, у пользователя будет «сопоставлен» «диск».

как насчет этого в файле bat в качестве сценария входа в систему пользователя Запустите его, и вы увидите удовольствие

mkdir %username% 
pushd %username% 
net config workstation > %computername%.txt

ИЛИ если вам нужно подробно

mkdir %username% 
pushd %username% 
@echo off
echo
echo I am logged on as %UserName%. >> %username%\%computername%.txt
echo My computer's name is %ComputerName%. >> %computername%.txt
echo %Date% >> %computername%.txt
echo %Time% >> %computername%.txt
echo My IP settings are >> %computername%.txt
ipconfig | find "." | find /i /v "suffix" >> %computername%.txt
getmac >> %computername%.txt
echo\

Вы можете связаться со мной для получения дополнительных скриптов, если вам это нужно, это хорошее обучение и для меня

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

На этой странице от Microsoft описан действительно медленный и сложный способ запроса журналов событий: http://technet.microsoft.com/en-us/library/ee176699.aspx

Я почти уверен, что это вам не поможет, но может сработать в качестве аудита. То есть кто был авторизован, когда случилось плохое!

Мне пришлось решить эту проблему для удаленной поддержки всей моей компании. Такие вещи, как PsLoggedOn и инструменты для сканирования журналов безопасности контроллера домена, оказались слишком медленными для моих целей (получение имени хоста для удаленной поддержки пользователей). Вот что я придумал:

  • У всех пользователей есть диск, сопоставленный с X: в AD в разделе Профиль - Домашняя папка
  • У всех есть сценарий ниже, назначенный в разделе Профиль - Сценарий входа в систему

Этот сценарий записывает, на каком компьютере они вошли в свою домашнюю папку. Он специально не записывает их вход на наш терминальный сервер, потому что меня не интересуют такие записи.

'===============================================================
' Record the logon in their X: drive UNLESS they are on TERM-SERVER!
'===============================================================
If strComputerName <> "TERM-SRVER" Then
    strFile = "X:\login.txt"
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objTextFile = objFSO.OpenTextFile(strFile, 8, True)
    objTextFile.WriteLine(strIP + " - " + strComputerName + " - " + CStr(Date) + " " +     CStr(Time))
    objTextFile.Close
    ' Make it hidden
    Set objTextFile = objFSO.GetFile(strFile)
    objTextFile.Attributes = 2
End If

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

Как системный администратор вы можете встроить процедуру в свой сценарий входа в систему для хранения файла.txt файл с именем пользователя и именем хоста в нем, или используйте sqlite.