Jak znaleźć nazwę komputera, na którym zalogował się użytkownik

9

Czy istnieje narzędzie, skrypt lub inny sposób na poznanie nazwy komputera, na którym konkretny użytkownik jest aktualnie zalogowany? A może nawet był zalogowany?

Powiedz, że użytkownik „HRDrone” pracuje na swoim komputerze, którego nazwa hosta to „HRStation01”.

Ja, siedzący przy biurku sysadmin, wiem tylko, że nazwa użytkownika to „HRDrone”. W jaki sposób mogę dowiedzieć się, że jest zalogowany na „HRStation01” bez pytania użytkownika? Przeglądarka zdarzeń AD? byle co?

Dzięki!

V. Romanow
źródło
Cóż, nie znalazłem żadnego sposobu, aby to zrobić za pomocą ogólnych okien lub narzędzi AD, ale okazuje się, że nasz system AV (SEP 11) przechowuje wymagane informacje, więc rozwiązałem je za pomocą skryptu VB, który wysyła kwerendę do antywirusowej bazy danych. Wydaje mi się, że można zastosować podobne rozwiązanie przy użyciu innego systemu, takiego jak SMS / SCOM.
V. Romanow
social.technet.microsoft.com/wiki/contents/articles/… tutaj jest alternatywny sposób na uzyskanie tego za pomocą gpo
Mike zabłysnął

Odpowiedzi:

8

Istnieje świetne narzędzie Sysinternals, które zrobi to za Ciebie - PsLoggedOn

Sam Cogan
źródło
Nie psiggedon gałązka może skanować sieć w poszukiwaniu konkretnego użytkownika, użyłem go tylko do znalezienia, kto był na konkretnej maszynie. Dzięki!
JamesOff
Sprawdziłem to. Wydaje się to interesujące, ale niepraktyczne w codziennym użytkowaniu, ponieważ skanowanie dosłownie wszystkich komputerów w domenie zajmuje dosłownie godziny, awarie na komputerach, które nie są podłączone i tak dalej. Szukam czegoś więcej, podobnie jak skanowanie dziennika zdarzeń. W naszym systemie antywirusowym mamy coś podobnego, w którym rejestruje nazwę każdego komputera i użytkownika, który był ostatnio zalogowany. Czasami tego używam, ale zastanawiam się, czy jest coś bardziej „rodzimego” w systemie Windows.
V. Romanow
5

Tania sztuczka, której często używam, to spojrzenie na „Sesje” wymienione w sekcji „Foldery współdzielone” w konsoli „Zarządzanie komputerem” skierowane na komputer serwera plików, na którym wiem, że użytkownik tematu będzie miał „zmapowany” dysk.

Evan Anderson
źródło
1

co powiesz na te w pliku bat jako skrypt logowania użytkownika Uruchom go, a zobaczysz zabawę

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

LUB jeśli potrzebujesz szczegółowo

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\

możesz skontaktować się ze mną, aby uzyskać więcej skryptów, jeśli ich potrzebujesz, to również dobra nauka dla mnie

Asim Khan
źródło
0

Nie jestem pewien, czy coś jest aktywne, ale Dziennik zdarzeń bezpieczeństwa rejestruje dane logowania od użytkowników. Dostęp do dziennika zdarzeń na kontrolerach domeny powinien być w stanie przekazać te informacje. Pod warunkiem, że gromadzone są informacje. Myślę, że to ustawienie polityki.

Ta strona firmy Microsoft opisuje naprawdę powolny i skomplikowany sposób wyszukiwania dzienników zdarzeń: http://technet.microsoft.com/en-us/library/ee176699.aspx

Jestem pewien, że to ci nie pomoże, ale może działać jako audyt. Tj. Zalogowany, kiedy zdarzyły się złe rzeczy!

Seanchán Torpéist
źródło
0

Musiałem rozwiązać ten problem, wykonując zdalne wsparcie w całej mojej firmie. Rzeczy takie jak PsLoggedOn i narzędzia do skanowania dzienników bezpieczeństwa kontrolera domeny okazały się zbyt wolne dla moich celów (uzyskanie nazwy hosta do obsługi zdalnej dla użytkowników). Oto, co wymyśliłem:

  • Wszyscy użytkownicy mają dysk zamapowany na X: w AD w obszarze Profil - Folder domowy
  • Każdy ma przypisany poniżej skrypt w obszarze Profil - skrypt logowania

Ten skrypt rejestruje, na jakim komputerze zalogował się w swoim folderze domowym. W szczególności nie rejestruje ich logowania do naszego serwera terminali, ponieważ nie dbam o takie wpisy.

'===============================================================
' 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

Następnie używam odrobiny VBscript na moim komputerze lokalnym, aby automatycznie znaleźć katalog domowy w AD, otworzyć plik dziennika i wydrukować kilka ostatnich wierszy.

Dotacja
źródło
0

Jako sysadmin możesz osadzić procedurę w skrypcie logowania do przechowywania pliku. txtplik z nazwą użytkownika i nazwą hosta lub użyj narzędzia sqlite.

Richard van den Berg
źródło