Як знайти ім'я комп'ютера, на якому користувач увійшов у систему


9

Чи є інструмент, сценарій чи якийсь інший спосіб дізнатися, на яке ім’я комп'ютера ввійшов певний користувач? Або навіть увійшли до системи?

Скажімо, користувач "HRDrone" працює над своєю машиною, ім'я хоста якої - "HRStation01".

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

Дякую!


Ну, я не знайшов способу зробити це за допомогою загальних інструментів Windows або AD, але виявляється, наша AV система (SEP 11) зберігає необхідну інформацію, тому я вирішив її за допомогою сценарію VB, який запитує антивірусну базу даних. Я здогадуюсь, що подібне рішення за допомогою іншої системи, наприклад SMS / SCOM, може бути використане.
В. Романов

social.technet.microsoft.com/wiki/contents/articles/… ось альтернативний спосіб отримати це за допомогою gpo
mike блищав

Відповіді:


8

Є чудова утиліта Sysinternals, яка зробить саме це для вас - PsLoggedOn


Якщо гілочка psloggedon не могла сканувати мережу для конкретного користувача, я використовував його лише для того, щоб знайти, хто знаходиться на певній машині. Дякую!
JamesOff

Перевірив це. Це здається цікавим, але непрактичним для повсякденного використання, оскільки для сканування всіх машин у домені потрібні буквально години, збою на комп’ютерах, які не підключені тощо. Я шукаю щось більше за принципом сканування журналу подій. У нашій антивірусній системі є щось подібне, де воно реєструє кожне ім’я комп’ютера та останній користувач. Я використовую це іноді, але мені цікаво, чи є щось більше "рідне" для Windows.
В. Романов

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

Як sysadmin, ви можете вбудувати процедуру в свій сценарій входу для зберігання. txtвведіть ім’я користувача та ім'я хоста або скористайтеся sqlite.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.