Comment puis-je restaurer une session de bureau à distance sur la console locale?


15

Une fois la connexion au bureau distant terminée, j'aimerais pouvoir restaurer le bureau distant sur la console locale afin que l'utilisateur n'ait pas à ressaisir le mot de passe et à se reconnecter.

Comment puis-je créer un raccourci sur le bureau pour ce faire?

Réponses:


15
  1. Créez un raccourci sur le bureau en cliquant avec le bouton droit sur le bureau et en sélectionnant nouveau, puis sélectionnez un raccourci.
  2. Dans le champ de texte, entrez:

    %windir%\System32\tscon.exe 0 /dest:console (Voir ci-dessous)

  3. Cliquez avec le bouton droit sur le raccourci nouvellement créé, cliquez sur Propriétés.
  4. Cliquez sur l'onglet de raccourci, puis sur le bouton Avancé.
  5. Cochez la case "Exécuter en tant qu'administrateur" et cliquez sur OK.

Si cela ne fonctionne pas, essayez de changer le numéro zéro ( tscon.exe 0 /dest...) à l'étape 2 en numéro un, et si cela ne fonctionne pas, continuez à l'incrémenter jusqu'à ce que votre bureau distant soit libéré.

Alternativement, ouvrez un shell avec menu Démarrer, Exécuter, cmd. Tapez qwinsta Enteret recherchez l'ID de la session qui est à l'état actif (il aura un >caractère au début de son nom de session). C'est le numéro que vous devez utiliser à l'étape 2.

Lorsque vous souhaitez restaurer le bureau de la console, double-cliquez simplement sur le raccourci et autorisez l'accès administrateur.


très bien fait :)
JD

car nous sommes tombés dessus à cause de ce problème : gardez à l'esprit que lorsque vous utilisez la solution de contournement avec tscon, la session reste ouverte sans verrouillage! cela signifie que toute personne ayant une connexion à la console (par exemple via la console du gestionnaire de machine virtuelle ou vsphere) peut utiliser la session ouverte même depuis un autre utilisateur sans se connecter. Ainsi, dans le script utilisé, il devrait également y avoir une session lcok
rominator007

8

Voici une version qui évite la dépendance aux outils GNU. Il utilise findstr, fourni avec Windows.

for /f %%i in ('qwinsta ^| findstr /C:">rdp-tcp#"') do set RDP_SESSION=%%i
:: Strip the >
set RDP_SESSION=%RDP_SESSION:>=%
tscon %RDP_SESSION% /dest:console

7
Voici ma version de, optimisée pour une ligne unique afin d'être compatible avec les raccourcis: %windir%\system32\cmd.exe /c "for /F "tokens=1 delims=^> " %i in ('""%windir%\system32\qwinsta.exe" | "%windir%\system32\find.exe" /I "^>rdp-tcp#""') do "%windir%\system32\tscon.exe" %i /dest:console"elle remplace le remplacement >des variables d'environnement par une forastuce d'analyse supplémentaire , ainsi que des cmdoptions supplémentaires (pour le raccourci). Lorsqu'il est combiné avec une icône appropriée (j'ai utilisé l'icône de déconnexion de Shell32.dll), cela devient similaire à cela .
Helder Magalhães

J'ai dû exécuter ce raccourci en tant qu'administrateur pour qu'il fonctionne. Clic droit> Propriétés> Avancé
James Esh

2

La réponse de glenviewjeff m'a donné l'essentiel du chemin, mais l'ID de session n'est pas toujours 1. Si vous essayez de déconnecter la session d'écoute ou de console comme celle-ci, vous obtiendrez une "Erreur 7045" - l'accès à la session demandé est refusé, ou si le l'ID de session n'existe pas. Une erreur SessionID introuvable.

J'ai créé un petit fichier batch pour extraire la session en cours. Comme je l'ai fait sur Windows XP, j'avais besoin de qwinsta plutôt que d'interroger la session pour comprendre l'ID actuel. Ce fichier batch utilise des utilitaires de ligne de commande unix, j'utilise Gnu sur Windows ( https://github.com/bmatzelle/gow/downloads ) pour y avoir accès. Il extrait la session en cours en recherchant un signe ">", puis le réaffecte à la session de console.

for /f %%i in ('qwinsta ^| grep "^>" ^| awk "{print $4}"') do set VAR=%%i
tscon %var% /dest:console

J'en avais besoin pour une machine connectée à un scanner Fujitsu IX500, le scanner ne scanne que si l'écran n'est pas sur l'écran de sélection du nom d'utilisateur / code d'accès dans Windows, ce que vous obtenez lorsque vous vous déconnectez ou déconnectez une session normalement. Comme la machine fonctionne sans écran, je veux pouvoir me connecter via rdp, mais si je le faisais, je ne pourrais pas utiliser le bouton de numérisation matérielle tant que je ne me suis pas connecté manuellement ou redémarré. Le fichier batch ci-dessus résout ce problème.


0

Je n'ai pas pu faire fonctionner la commande de fichier batch de Simon D. C'est ce qui a fonctionné pour moi sur Windows 7 x64:

for /f %%i in ('qwinsta ^| grep "^>" ^| awk "{print $3}"') do tscon %%i /dest:console
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.