Есть ли инструмент, сценарий или какой-либо другой способ узнать, с каким именем компьютера в данный момент находится конкретный пользователь? Или даже был авторизован?
Допустим, пользователь «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 и инструменты для сканирования журналов безопасности контроллера домена, оказались слишком медленными для моих целей (получение имени хоста для удаленной поддержки пользователей). Вот что я придумал:
Этот сценарий записывает, на каком компьютере они вошли в свою домашнюю папку. Он специально не записывает их вход на наш терминальный сервер, потому что меня не интересуют такие записи.
'===============================================================
' 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.