Как я могу восстановить сеанс удаленного рабочего стола на локальной консоли?

После завершения подключения к удаленному рабочему столу я хотел бы иметь возможность восстановить удаленный рабочий стол на локальной консоли, чтобы пользователю не приходилось повторно вводить пароль и снова входить в систему.

Как я могу создать ярлык на рабочем столе, чтобы сделать это?

5 ответов

Решение
  1. Создайте ярлык на рабочем столе, щелкнув правой кнопкой мыши на рабочем столе и выбрав новый, затем выберите ярлык.
  2. В текстовом поле введите:

    %windir%\System32\tscon.exe 0 /dest:console (Увидеть ниже)

  3. Щелкните правой кнопкой мыши по вновь созданному ярлыку, выберите Свойства.
  4. Перейдите на вкладку ярлыков и нажмите кнопку "Дополнительно".
  5. Установите флажок "Запуск от имени администратора" и нажмите "ОК".

Если это не сработает, попробуйте изменить ноль (tscon.exe 0 /dest...) на шаге 2 до номера один, и если он не работает, продолжайте увеличивать его, пока не будет выпущен удаленный рабочий стол.

Поочередно, откройте оболочку с меню Пуск, запустите, cmd, Тип qwinsta Введите и найдите идентификатор сеанса, который находится в активном состоянии (он будет иметь > символ в начале своего имени сеанса). Это число, которое нужно использовать на шаге 2.

Если вы хотите восстановить рабочий стол консоли, просто дважды щелкните по ярлыку и разрешите доступ администратора.

Вот версия, которая избегает зависимости от инструментов GNU. Он использует findstr, который поставляется с 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

Ответ glenviewjeff дал мне большую часть пути, но идентификатор сессии не всегда 1. Если вы попытаетесь отключить сеанс прослушивания или консоль, как это, вы получите "Ошибка 7045" - запрошенный доступ к сеансу запрещен, или если Идентификатор сеанса не существует. Идентификатор сеанса не найден.

Я сделал небольшой командный файл, чтобы вытащить текущий сеанс. Поскольку я делал это в Windows XP, мне нужно было использовать qwinsta, а не сеанс запросов, чтобы выяснить текущий идентификатор. Этот пакетный файл использует утилиты командной строки Unix, я использую Gnu в Windows ( https://github.com/bmatzelle/gow/downloads), чтобы получить к ним доступ. Он извлекает текущий сеанс путем поиска знака ">" и затем переназначает его обратно в сеанс консоли.

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

Мне это нужно было для машины, которая подключена к сканеру Fujitsu IX500, сканер сканирует только, если на экране нет экрана выбора имени пользователя / входа в Windows, что вы получаете, когда вы выходите из системы или отключаетесь от сеанса в обычном режиме. Поскольку машина работает без экрана, я хочу иметь возможность подключиться через rdp, но если я это сделаю, я не смогу использовать кнопку аппаратного сканирования, пока не войду в систему вручную или не перезапущусь. Пакетный файл выше решает эту проблему.

Я не мог заставить команду командного файла Саймона Ди работать. Вот что у меня работало на Windows 7 x64:

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

Шаг 1. Скопируйте этот сценарий в текстовый файл, например:rdp-disconnect.cmd.

      @powershell -NoProfile -ExecutionPolicy unrestricted -Command "$sessionid=((quser $env:USERNAME | select -Skip 1) -split '\s+')[2]; tscon $sessionid /dest:console" 2> rdp-disconnect-errors.log

Шаг 2. Создайте ярлык для этого файла, например:rdp-disconnect.lnk.

Шаг 3: Настройте этот ярлык для запуска от имени администратора.

-> щелкните правой кнопкой мыши по ярлыку -> свойства -> дополнительно -> запустить от имени администратора -> ок

Шаг 4: Дважды щелкните этот файл, когда вам нужно отключиться от сервера.

Преимущества этого скрипта:

  1. Очень прост в настройке.
  2. Нет необходимости самостоятельно определять идентификатор сеанса.
  3. Нет необходимости передавать пароль.
  4. Записывает ошибки в.logфайл.

Ссылка: https://stackoverflow.com/a/53507397/8644294

Другие вопросы по тегам