3

На работе я подключаюсь к порталу нашей компании, чтобы выполнить свою работу. Я хотел бы взять часть моей работы домой и сделать это оттуда. Поскольку я не могу подключиться из дома напрямую к порталу компании, я подумал, что хорошей идеей будет включение RDP на моем рабочем компьютере. Я так и сделал, но портал все еще отклоняет мое соединение, потому что ssl-сертификат не принят. Разница в том, что когда я на работе, Windows видит меня за консолью машины, а когда я дома, Windows видит меня как сеанс TCP.

Итак, есть ли способ обмануть Windows, чтобы увидеть мой сеанс TCP на моем рабочем компьютере в качестве сеанса консоли?

Я попробовал первый и второй вариант из этого поста:

  1. Реестр: HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\TSAppCompat .
    [Этот ключ] [1] отсутствует в обычном сеансе на моем рабочем столе.
    Вы можете попытаться удалить его, если можете.
  2. Значения переменных среды SESSIONNAME: Console / "RDP #" / (пусто).
    Вы можете попытаться запустить игру из командной строки (cmd) после выполнения
    SET SESSIONNAME=Console (значение моего рабочего стола) или SET SESSIONNAME= (пусто).
    Чтобы узнать его текущее значение, введите SET SESSIONNAME прежде чем что-либо менять.
  3. Системные вызовы [GetSystemMetrics (SM_REMOTESESSION)] [3] и [GetVersionEx] [2] ([OSVERSIONINFOEX.wSuiteMask] [4]) возвращают контекст выполнения.
    Вы не можете ничего сделать против этого, кроме написания системного хука для этого.
    Если интересно, посмотрите эту статью на codeproject.com: [раскрыта перехват API] [5].

Автор harrymc, найденный здесь: Windows: Как заставить программы думать, что они не работают в сеансе терминального сервера?

  1. Раздел реестра отсутствует, удалить нечего.
  2. Я попытался "SET SESSIONNAME = Console". Имя сеанса изменяется, когда я опрашиваю "SET SESSIONNAME", но в tcp-rdp в Диспетчере задач -> Пользователи отображается tcp, и сертификат по-прежнему отклоняется порталом.
  3. Третий вариант - это сложный для моих навыков программирования.

Поскольку портал использует ssl-сертификат и я могу получить к нему доступ только из IE, я ищу способ заставить IE думать, что я вошел в систему с консоли компьютера и не подключен удаленно. Надеюсь, что-то работает ...

2 ответа2

3

Я не уверен, является ли проблема отсутствием в сеансе консоли, но вы можете попробовать использовать mstsc /admin (на MSTSC версии 6.1 и выше) или mstsc /console на старых версиях. Это говорит RDP для подключения к сеансу консоли вашего компьютера. Если вы сделаете это, вам не нужно будет обманывать систему, заставляя ее думать, что вы находитесь в сеансе консоли, вы будете в сеансе консоли.

1

Я собираюсь сказать нет из-за встроенного MSFT RDP, потому что вы не можете легко изменить переменные среды. Например, переменная SESSIONNAME, которую вы останавливаете, имеет либо значение CONSOLE для локальных входов в систему, либо RDP-Tcp # 1, RDP-Tcp # 2 для удаленных сеансов.

Чтобы посмотреть это с powershell.

[environment]::GetEnvironmentVariable("SESSIONNAME")

или из командной строки.

SET SESSIONNAME 

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .