Comment puis-je savoir qui est connecté activement (localement ou à distance) à un PC Windows 7?

À partir de mon PC Windows 7, je veux vérifier pour savoir qui a activé la connexion à un autre ordinateur Windows 7 sur mon réseau, et non celui qui a connecté en dernier. Comment cela peut-il être fait?

Tout au long de la journée, plusieurs personnes se connecteront à distance à un ordinateur partagé, généralement en train de se déconnecter quand elles auront terminé. Notez que ces utilisateurs ont des droits d'administration sur leurs deux, leur PC et celui qu'ils sont à distance. Si je me connecte alors que quelqu'un d'autre est connecté activement, j'ai l'option de continuer et de devenir l'utilisateur «actif», ce qui place l'ancien compte actif dans un état déconnecté. Il serait bon d'avoir la possibilité de voir qui est connecté activement avant de faire ce choix.

J'ai cherché sur le Web et trouvé diverses solutions qui vous permettent de savoir qui a créé la dernière connexion, ce qui ne se traduit pas par le fait qu'elle soit la dernière, ou actuellement active.

Sur une note latérale, il semble étrange dans Windows 7 que l'ID de l'utilisateur actuel et actif s'affiche 'après', je clique sur 'Oui' pour vous connecter sur eux. Lorsque nous utilisions Windows XP, on pouvait voir l'ID de l'utilisateur actif actuel «avant» décider de continuer à se connecter.

Toute aide est appréciée.

Vous pouvez utiliser la commande de requête des services Terminal Server pour cela.

query session /server:remote_computer_name_here 

Notez que vous devrez définir la valeur de registre suivante sur l'ordinateur distant:

 Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server Value Name: AllowRemoteRPC Value: 1 Type: REG_DWORD 

Vous pouvez placer la commande de requête dans un fichier batch, afin que les utilisateurs puissent simplement cliquer dessus pour voir qui est connecté à cet ordinateur.

Vous pouvez utiliser l'outil Windows Sysinternals PSLoggedOn .

Utilisation: psloggedon [-] [-l] [-x] [\\ nom de l'ordinateur | Nom d'utilisateur]

Affiche les options supportées et les unités de mesure utilisées pour les valeurs de sortie.

-l Affiche uniquement les connexions locales au lieu des connexions locales et de ressources réseau.

x Ne pas afficher les heures d'ouverture de session.

\\ nom_ordinateur Spécifie le nom de l'ordinateur pour la liste des informations d'ouverture de session.

Nom d'utilisateur Si vous spécifiez un nom d'utilisateur, PsLoggedOn recherche le réseau pour les ordinateurs sur lesquels cet utilisateur a ouvert une session. Ceci est utile si vous souhaitez vous assurer qu'un utilisateur particulier n'est pas connecté lorsque vous souhaitez modifier la configuration de son profil utilisateur.

La commande wmic dans Invite de commandes peut récupérer ces informations. Toutefois, pour que les clients répondent, une règle de pare-feu est d'abord requise.

J'ai trouvé une publication sur community.spiceworks.com, grâce à MacKingTosh qui semble corriger l'erreur 'erreur – le serveur RPC n'est pas disponible'.

La commande à exécuter sur les clients qui produisent cette erreur est:

 netsh firewall set service remoteadmin enable 

Vous voudrez peut-être vérifier que cela correspond à vos règles de pare-feu.

Lors de l'utilisation de wmic , voici une ventilation des paramètres dans wmic vous pouvez passer:

  • /node : – les serveurs sur lesquels l'alias fonctionnera
  • yourpcname – le nom du PC
  • Système computersystem – c'est un système informatique sur lequel nous essayons d'obtenir des informations sur
  • get – nous voulons obtenir l'information
  • username – l'utilisateur qui est connecté
  • model – le modèle de l'ordinateur
  • manufacturer – le nom de l'entreprise qui a fabriqué l'ordinateur
  • name – le nom du PC

Quelques exemples:

Obtenir un nom d'utilisateur:

 wmic /node: 'yourpcname' computersystem get username 

Obtenez une marque et un modèle PC:

 wmic /node: 'yourpcname' computersystem get manufacturer, model 

Obtenez les trois:

 wmic /node: 'yourpcname' computersystem get manufacturer, model, username 

L'ajout de champs supplémentaires peut être effectué à l'aide d'une virgule et d'un espace:

 Model, manufacturer, username, name 

Les exemples ci-dessus concernent un PC distant et la requête effectuée sur le réseau. Si la commande est exécutée localement, elle aurait une syntaxe légèrement différente. Par exemple:

 wmic computersystem get manufacturer, model, username 

Une autre option de la ligne de commande Windows 7 ou supérieure:

 tasklist /s computername /fi "imagename eq explorer.exe" /v 

Vous pouvez être invité à demander des informations d'ordre administratif si vous interrogez une machine distante.

Cela verra si explorer.exe s'exécute sur une machine, et "/ v" fournit le nom d'utilisateur. Si une machine n'est pas connectée, aucun processus explorer.exe ne sera exécuté. Si quelqu'un est connecté, le processus explorer.exe s'exécute dans le contexte de cet utilisateur.