Подключение к удаленному рабочему столу без блокировки удаленного компьютера

31

Можно ли подключиться через Remote Desktop Connection к компьютеру под управлением Windows 7 без блокировки удаленного компьютера (я хочу использовать того же пользователя, вошедшего в систему)? Или можно снять блокировку после закрытия сеанса удаленного рабочего стола?

yossis
источник

Ответы:

16

Просто запустите это из удаленного сеанса:

tscon %sessionname% /dest:console
Райан
источник
Получить ошибку Имя сеанса% sessionname% не найдено, есть идеи? Думаю, это не определено в Windows 8
Феликс,
Не уверен насчет Windows 8, это работало для Windows 7.
Райан
4
@phil Я тоже получил эту «ошибку» от его ответа на 7. Видимо social.technet.microsoft.com/Forums/windows/en-US/… Для XP: tscon 0 /dest:consoleДля 7: tscon 1 /dest:console <- запустить на удаленном компьютере. НО ... это просто так, что когда клиентский компьютер (mstsc.exe) отключается от просматриваемого компа, он не блокируется. Таким образом, вы отключаетесь, выполнив эту команду на компе, который вы просматриваете. Но этот метод не остановит блокировку экрана при входе в систему.
barlop
% sessionname% недоступен из командной строки с повышенными правами (администратор), предположительно потому, что windows обрабатывает приглашение администратора как отдельный не удаленный сеанс. Однако для завершения сеанса tscon.exe требуются права администратора. Решение состоит в том, чтобы использовать указанную выше команду в ярлыке и выбрать «запуск от имени администратора» в дополнительных параметрах (также работает, если вы указываете ярлык «запускать от имени администратора» на командный файл с необходимой командой и передаете% sessionname% в повышенный пакетный файл в качестве аргумента. Я использую это, чтобы отключить без блокировки и одновременно приостановить работу ПК)
Жюль
6

Вы можете использовать этот скрипт PowerShell, который также поддерживает Windows 8:

$server   = 'MyServer'
$username = $env:USERNAME

$session = ((quser /server:$server | ? { $_ -match $username }) -split ' +')[2]

tscon $session /dest:console
Феликс
источник
Это не сработало для меня вообще. Я просто получаю "доступ запрещен". Кажется, он пытается сопоставить сеанс на другом конце с вашим локальным именем пользователя? Но я хочу подключиться к сеансу консоли, который может быть зарегистрирован как другой пользователь.
Дан
@Dan Так почему вы используете, $env:USERNAMEесли вы не хотите его использовать? Вместо этого используйте имя пользователя, которое хотите использовать. Вы должны всегда думать, копируя и вставляя что-либо. Это может вызвать у вас довольно плохие времена, если вы просто выполните все, что найдете где-то.
Давид Ференци Рогожан,
@Dawid. Хм спасибо? Я посмотрел на сценарий, и он довольно безобиден. Я решил запустить его, задаваясь вопросом, как это может работать. Оказывается, это не так. Я сделал это на заметку. Суть в том, что скрипт не указывает, в каких ситуациях он работает (вероятно, пользователь домена вошел в систему как тот же пользователь на этом компьютере). Я попробовал это с другим именем пользователя, но это тоже не сработало.
Дан,
4

Насколько я знаю, невозможно предотвратить подключение компьютера к удаленному рабочему столу, но Ultra VNC позволяет удаленно управлять другим компьютером, не блокируя его.

вороной
источник
4
Ultra VNC намного медленнее, что мешает мне его использовать
yossis
Это возможно ... см. Ответ Феликса
JoelFan
4

обратитесь к https://techjourney.net/remote-desktop-connection-without-locking-remote-computer-session-on-disconnect/

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

В удаленной системе, подключенной через RDC (не на вашем компьютере, который RDC инициализируется для подключения к удаленной системе), откройте окно командной строки от имени администратора, а затем выполните команду в зависимости от операционной системы Windows, которая запущена в удаленной системе.

В Windows XP:

tscon 0 / dest: console

В Windows Vista, Windows 7, Windows 8, Windows 8.1, Windows 10 или новее:

tscon 1 / dest: console

На Windows Server:

tscon% sessionname% / dest: console

Нет блокировки локальной консоли при использовании подключения к удаленному рабочему столу

Пит Уитфилд
источник
2

Посмотрите на удаленную помощь. Он в основном использует ту же технологию удаленного рабочего стола под капотом.

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

В качестве альтернативы вы можете использовать Logmein.com и установить LogmeinFree, который позволяет вам удаленно управлять ПК пользователя в то же время, когда он используется.


источник
4
Удаленная помощь требует обновления билета, нет?
Йоссис
2

запустите cmd на удаленном компьютере, затем запустите эту команду, query sessionвы увидите что-то вроде этого

 SESSIONNAME       USERNAME                 ID  STATE   TYPE        DEVICE
 services                                    0  Disc
>console           SIRS                      1  Active
 rdp-tcp                                 65537  Listen

затем запустите эту команду, tscon x /dest:consoleгде x - ваш активный идентификатор сессии, что 1в моем случае.

СВО
источник
1

В качестве альтернативы вы можете использовать Gbridge: «Gbridge - это бесплатное программное обеспечение, которое позволяет удаленно управлять компьютерами, синхронизировать папки, обмениваться файлами и общаться в чате безопасно и легко. Расширяя службу gtalk от Google, Gbridge автоматически формирует совместное зашифрованное VPN (Virtual Частная сеть), которая напрямую и безопасно соединяет ваши компьютеры и компьютеры ваших друзей. Gbridge обладает множеством уникальных функций ». http://www.gbridge.com/

Нику Зечеру
источник
1

Это невозможно сделать с помощью самого RDC, вам нужно использовать сторонний инструмент, такой как TeamViewer . Технически вы можете использовать удаленную помощь, но как только у вас закончатся запросы, вы ничего не сможете сделать.

Джон Т
источник
TeamViewer выглядит как хорошее приложение, но я только что протестировал его, и оно не полностью бесплатное и намного медленнее, чем удаленный рабочий стол (даже при использовании в локальной сети)
yossis
1

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

Майк К
источник
2
Столько, сколько я хотел бы рекомендовать RealVNC (или любой VNC в этом отношении), я не могу (несмотря на то, что был очень ранним пользователем этого). RD-соединения чувствуют себя намного более отзывчивыми, особенно по каналам с ограниченной пропускной способностью
Брайан Кноблаух
Это был и мой опыт. Удаленный рабочий стол намного быстрее, и мне еще предстоит найти другие альтернативы (с точки зрения производительности)
yossis
1

Упоминается в другом ответе, но LogMeIn.com имеет бесплатную версию, и позволяет поделиться информацией с локальным пользователем или очистить экран. Я нашел время отклика довольно приличным по медленным соединениям, но качество графики снижается, когда скорость.

techturtle
источник
0

Чтобы решить аналогичную задачу, в которой мы должны были предотвратить блокировку экрана для задачи расписания, я написал пакетный файл, который выглядит следующим образом:

for /f "tokens=3-4" %%a in ('query session %username%') do @if "%%b"=="Active" set RDP_SESSION=%%a
tscon %RDP_SESSION% /dest:console

Это также требует Admin Rightsвыполнения, но это очень удобно в качестве ярлыка на рабочем столе пользователя.

Smartis
источник