Comment trouver le nom de l'ordinateur auquel un utilisateur s'est connecté

9

Existe-t-il un outil ou un script ou une autre manière de savoir à quel nom d'ordinateur un utilisateur spécifique est actuellement connecté? Ou même était connecté à?

Supposons que l'utilisateur "HRDrone" travaille sur sa machine dont le nom d'hôte est "HRStation01".

Moi, assis à mon bureau d'administrateur système, je sais seulement que le nom d'utilisateur est "HRDrone". Est-ce que je peux savoir qu'il est connecté à "HRStation01" sans demander à l'utilisateur? Observateur d'événements AD? n'importe quoi?

Merci!

V. Romanov
la source
Eh bien, je n'ai trouvé aucun moyen de le faire en utilisant des fenêtres génériques ou des outils AD, mais il s'avère que notre système AV (SEP 11) stocke les informations requises, donc je l'ai résolu en utilisant un script VB qui interroge la base de données antivirus. Je suppose qu'une solution similaire utilisant un autre système tel que SMS / SCOM pourrait être utilisée.
V. Romanov
social.technet.microsoft.com/wiki/contents/articles/… voici une autre façon d'obtenir cela en utilisant un gpo
mike a brillé le

Réponses:

8

Il existe un excellent utilitaire Sysinternals qui fera exactement cela pour vous - PsLoggedOn

Sam Cogan
la source
Le psloggedon de brindille n'a pas pu scanner le réseau pour un utilisateur particulier, je l'avais seulement utilisé pour trouver qui était sur une machine particulière. Merci!
JamesOff
Je l'ai vérifié. Cela semble intéressant, mais peu pratique pour une utilisation quotidienne, car il faut littéralement des heures pour analyser toutes les machines du domaine, plantant sur des ordinateurs qui ne sont pas connectés et autres. Je cherche quelque chose de plus dans le sens d'une analyse du journal des événements. Nous avons quelque chose de similaire dans notre système antivirus, où il enregistre chaque nom d'ordinateur et la dernière connexion de l'utilisateur. J'utilise ça parfois, mais je me demande s'il y a quelque chose de plus "natif" dans Windows.
V. Romanov
5

Une astuce bon marché que j'utilise souvent est de regarder les "Sessions" répertoriées sous "Dossiers partagés" dans la console "Gestion de l'ordinateur" ciblant un ordinateur serveur de fichiers où je sais que l'utilisateur en question aura un "lecteur" "mappé".

Evan Anderson
la source
1

que diriez-vous de ceux-ci dans le fichier bat en tant que script de connexion utilisateur Exécutez-le et vous verrez le plaisir

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

OU si vous avez besoin en détail

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\

vous pouvez me contacter pour plus de scripts si vous en avez besoin, son bon apprentissage pour moi aussi

Asim Khan
la source
0

Je ne suis pas sûr qu'il y ait quelque chose en direct, mais le journal des événements de sécurité enregistre les connexions des utilisateurs. L'accès au journal des événements sur les contrôleurs de domaine devrait pouvoir vous fournir ces informations. Cela à condition que des informations soient collectées. Je pense que c'est un cadre politique.

Cette page de Microsoft décrit une manière très lente et compliquée d'interroger les journaux des événements: http://technet.microsoft.com/en-us/library/ee176699.aspx

Je suis sûr que cela ne vous aidera pas, mais cela pourrait fonctionner comme un audit. C'est-à-dire qui était connecté lorsque les mauvaises choses se sont produites!

Seanchán Torpéist
la source
0

J'ai dû résoudre ce problème pour faire du support à distance dans toute mon entreprise. Des choses comme PsLoggedOn et des outils pour analyser les journaux de sécurité du contrôleur de domaine se sont révélés beaucoup trop lents pour mes besoins (obtenir le nom d'hôte pour prendre en charge à distance les utilisateurs). Voici ce que j'ai trouvé:

  • Tous les utilisateurs ont un lecteur mappé sur X: dans AD sous Profil - Dossier d'accueil
  • Tout le monde a le script ci-dessous affecté sous Profil - Script d'ouverture de session

Ce script enregistre l'ordinateur auquel ils se sont connectés dans leur dossier de départ. En particulier, il ne les enregistre pas en se connectant à notre serveur Terminal Server, car je ne me soucie pas de ces entrées.

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

Ensuite, j'utilise un peu de VBscript sur ma machine locale pour trouver automatiquement leur répertoire personnel dans AD, ouvrir le fichier journal et imprimer les dernières lignes.

Subvention
la source
0

En tant qu'administrateur système, vous pouvez intégrer une routine dans votre script d'ouverture de session pour stocker a. txtfichier avec le nom d'utilisateur et le nom d'hôte, ou utilisez sqlite.

Richard van den Berg
la source