web-dev-qa-db-fra.com

Façons de vérifier si l'utilisateur est actif sur la machine distante avant le traitement RDP

Nous avons une machine Windows XP commune partagée entre plusieurs utilisateurs. Tous utilisent un identifiant de domaine commun pour rdp. Maintenant, le problème est que nous finissons parfois par reprendre la session active d'autres personnes sans que l'une des parties en soit avertie (aucun avertissement n'est émis car nous utilisons le même identifiant).

Existe-t-il un moyen de vérifier si l'utilisateur actuellement connecté sur la machine distante est actif (terminal verrouillé?) Ou non?

Nous ne pouvons pas utiliser VNC ou LogMeIn ou d'autres utilitaires de partage de bureau pour des raisons de sécurité (bloqués par le service informatique).

Je vais bien développer un utilitaire de test rapide (C #, C++, scripts, etc.) également.

Modifier:

  1. Comme nous utilisons le même identifiant - les utilisateurs ne se déconnectent pas, ils déconnectent ou verrouillent simplement le terminal.
23
YetAnotherUser

Nous pouvons utiliser qwinsta pour Qénormément WINles sourds STAet obtenez une liste de toutes les sessions actives.

La colonne State indique si un utilisateur est actif ou non. Cela nécessite un accès administrateur sur la machine cible.

Compris TechTalkz: Comment afficher/déconnecter des sessions de bureau à distance de la ligne de commande

enter image description here

31
YetAnotherUser

Créer un fichier BAT qui génère un fichier sur un partage indiquant que l'ordinateur est en cours d'utilisation. Lorsqu'un utilisateur se connecte, il s'exécute et crée ce fichier. Lorsqu'un utilisateur se déconnecte (peut être effectué à l'aide d'un script GP), il supprime le fichier. Vérifiez le partage de ce fichier avant de vous connecter

1
Canadian Luke

Vous pouvez utiliser la commande NET SEND pour envoyer un message à la machine afin de voir si quelqu'un s'y trouve. Cela peut être facilité en utilisant une application graphique - le lien ci-dessous est le premier gratuit que j'ai trouvé en effectuant une recherche sur le Web, de sorte qu'il est livré sans aucune approbation spécifique.

http://www.Microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/net_send.mspx

http://www.fomine.com/netsend.html

1
Linker3000

Semblable à la réponse acceptée, vous pouvez également utiliser Query.exe comme ceci:

quser /server:<COMPUTERNAME>

Cela se traduira par:

enter image description here

1
Felix D.

Autrement:

wmic.exe /node:<computername or IP address> computersystem get username

(testé sur Windows 7)

1

En tant que FYI, je sais que cela remonte à plus d’un an, mais même si une personne dispose des droits d’administrateur de domaine, il existe des règles GPO qui pourraient empêcher certains comptes d’administrateur (domaine, entreprise, etc.) de se connecter à distance. à une machine.

Cela permet de protéger les machines faisant partie d'un site distant contre leur administration à distance par une personne située plus haut dans la structure AD.

Vous pouvez vérifier si cela est refusé en consultant vos rapports GPO pour la machine locale située sous l'onglet

                  gpreport /h report.html

à partir d'une invite de commande administrative.

0
Norm