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

9

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

Скажем, пользователь «HRDrone» работает на своем компьютере с именем хоста «HRStation01».

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

Спасибо!

В. Романов
источник
Ну, я не нашел никакого способа сделать это с помощью универсальных окон или инструментов AD, но оказалось, что наша AV-система (SEP 11) хранит необходимую информацию, поэтому я решил ее с помощью сценария VB, который запрашивает антивирусную базу данных. Я предполагаю, что подобное решение, использующее другую систему, такую ​​как SMS / SCOM, могло бы использоваться.
В. Романов
social.technet.microsoft.com/wiki/contents/articles/… вот альтернативный способ получить это с помощью gpo
Майк

Ответы:

8

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

Сэм Коган
источник
Если бы ветка Пслоггон не могла сканировать сеть для конкретного пользователя, я бы использовал ее только для того, чтобы найти, кто был на конкретной машине. Спасибо!
JamesOff
Проверил это. Это кажется интересным, но непрактичным для повседневного использования, так как сканирование всех компьютеров в домене занимает буквально часы, происходит сбой на компьютерах, которые не подключены, и тому подобное. Я ищу что-то более похожее на сканирование журнала событий. У нас есть что-то похожее в нашей антивирусной системе, где он регистрирует имя каждого компьютера и пользователя, который последний раз заходил на него. Я использую это иногда, но мне интересно, есть ли что-то более "родное" для окон.
В. Романов
5

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

Эван Андерсон
источник
1

как насчет этого в 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\

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

Асим Хан
источник
0

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

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

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

Шончан Торпейст
источник
0

Мне пришлось решить эту проблему для удаленной поддержки всей моей компании. Такие вещи, как 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, открыть файл журнала и распечатать последние несколько строк.

Грант
источник
0

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

Ричард ван ден Берг
источник