Попробовал во время отпуска подключиться к удаленной машине и обнаружил, что удаленный рабочий стол очень сильно тормозит, задержка около 2 секунд. При этом пинг до машины всего 100 мс. Подключался с ноутбука на котором стоит Windows 8.1. На рабочей машине стоит Windows 7.

Как это исправить?

В итоге оказалось, что необходимо проделать следующее на клиенте (компьютере с Windows 8.1 в моем случае):
1) Запускаем командную строку от имени администратора.

2) Прописываем в ней следующую команду:

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

В интернете также встречал следующие варианты:

  • В дополнение к предыдущей команде (пункт 2), необходимо выполнить следующую:
    netsh interface tcp set global rss=disabled
  • Вместо предыдущей команды (пункт 2) необходимо выполнить следующую:
    netsh interface tcp set global autotuninglevel=highlyrestricted

Другие статьи:

Комментарии:

    Макс

  • 06.09.2019 19:26

в итоге непонятно, надо ли выполнять 1 и 2 команды, 2 и 3тью, или достаточно только третьей??

Сначала выполняем команду
netsh int tcp set global autotuninglevel=disabled
И перезагружаемся. Если не помогло, то выполняем еще одну команду:
netsh interface tcp set global rss=disabled
И перезагружаемся. Если опять не помогло, то выполняем команду:
netsh interface tcp set global autotuninglevel=highlyrestricted
И перезагружаемся.

Мне последние две помогли, благодарю.

Спасибо за замечание, статью исправил.
Это надо проделывать на клиенте (Windows 8.1), т.к. там разработчики нахимичили с оптимизацией работы сети.

Из статьи не понятно, на каком компьютере выполнять данные команды? На сервере, к которому подключался, или на клиенте, с которого подключался?

Байты полезной информации

Столкнулся с такой проблемой, что подключение к удаленному рабочему столу в локальной сети зависает на моменте «настройка удаленного сеанса», подключение может происходит 2, 5, 10 минут, но иногда и сразу. Решение в продолжении.

Дело в том, что в новой версии набора протоколов TCP/IP для Windows 7Server 2008 была реализована функция TCP Receive Window Auto-Tuning — автоматическая настройка окна приема TCP. Теоретически эта функция предназначена для оптимизации пропускной способности и улучшения работы сети, а практически является причиной множества проблем.

Теория
Окно приема TCP используется для ограничения потока данных и для обеспечения возможности контроля потока на принимающей стороне. Окно TCP представляет собой объем данных, который получатель разрешает отправлять за один прием. То есть, чем больше окно, тем лучше работа в сетях с высокой пропускной способностью.
Для TCP/IP в Windows XPServer 2003 максимальный размер окна приема фиксирован и по умолчению составляет 64КБ. В Windows 7Server 2008 оптимальный размер окна приема определяется динамически. Для этого измеряется пропускная способности канала и скорость извлечения приложением данных из окна приема, после чего размер окна адаптируется в соответствии с этими параметрами. Автотюнинг использует масштабирование окна TCP, благодаря чему максимальный размер окна приема составляет 16 МБ.
В идеале при включении автотюнинга передача данных по сети должна стать более эффективной. Однако не всё так просто. Например, приложение не успевает извлекать данные, текущее окно приема заполняется и принимающий узел начинает уменьшать его размер. При заполнении максимального окна приема размер текущего окна уменьшается до 0 байт, после чего передача данных прекратится.

Практика
Как я уже говорил, проблему с автотюнингом очень сложно локализовать. Поэтому, при наличии неопределенных проблем с сетевыми подключениями в первую очередь смотрим настройки TCP. Сделать это можно из командной строки (с повышенными привилегиями) командой:

netsh interface tcp show global

Здесь нас интересует параметр ″Уровень автонастройки окна получения″ (англ. Receive Window Auto-Tuning Level). Он может принимать значения:

• disabled — автотюнинг выключен, используется фиксированное значение размера приемного окна TCP — 64KB;
• higlyrestricted — позволяет размеру приемного окна выходить за пределы значения по умолчанию, очень ограниченно превышая его;
• restricted — допускает более существенный рост размера окна относительно значения по умолчанию;
• normal — по умолчанию. Позволяет менять размер окна в зависимости от различных условий работы;
• experimental — позволяет увеличивать размер окна до очень больших значений. Следует применять очень осторожно.

Можно попробовать подобрать нужный уровень, например попробовать higlyrestricted, а если не помогает, то отключить:

netsh interface tcp set global autotuninglevel=disabled

После изменения настройки компьютер следует перезагрузить.
Проблема с автотюнингом присутствует в операционных системах Windows Vista, Windows 7, Windows Server 2008 и 2008 R2. По Windows 8 и Server 2012 пока данных нет, хотя автотюнинг в них есть и используется.

Технический блог специалистов ООО"Интерфейс"

  • Главная
  • Админу на заметку — 17. Как выключить или перезагрузить компьютер через RDP

Админу на заметку — 17. Как выключить или перезагрузить компьютер через RDP

  • Автор: Уваров А.С.
  • 27.11.2015

Удаленный доступ к рабочему столу по протоколу RDP широко используется для работы не только с серверами, но и с рабочими станциями, как для удаленной работы, так и в целях администрирования. Однако есть некоторые ограничения, в частности в среде клиентской ОС нельзя управлять параметрами питания, даже имея права локального администратора. В некоторых случаях это способно взывать затруднения, поэтому если вы до сих пор не знаете, как выключить или перезагрузить клиентскую версию ОС через RDP — эта статья для вас.

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

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

Несмотря на кажущуюся нелогичность, определенный смысл в таком поведении есть. Серверные ОС администрируют профессионалы (как минимум в теории), которые должны отдавать себе отчет о возможных последствиях своих действий. С другой стороны, удаленно выключив ПК так просто включить его уже не получится, в большинстве случаев потребуется физическое присутствие, поэтому решение убрать подобную функцию от простых пользователей выглядит вполне обоснованно. Администраторы, следуя этой логике, должны уметь управлять питанием и иными способами.

Но как показывает практика, умеют это не все. Ничего страшного в этом нет, как говорил мой школьный учитель: спросить — стыд минуты, не знать — стыд всей жизни.

Графическая оболочка

На самом деле "проблема" решается не просто, а очень просто. Выйдя на рабочий стол достаточно нажать Alt+F4 чтобы получить стандартный диалог завершения работы.

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

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

Командная строка

Как обычно, если графические инструменты не помогают, на помощь администратору приходит командная строка. Для того, чтобы управлять питанием компьютера с ее помощью не надо обладать особыми знаниями, достаточно запомнить одну простую команду. Нажмите Win+R или Пуск — Выполнить и введите следующие команды:

Разберем ключи команды подробнее:

  • s — выключение компьютера
  • r — перезагрузка
  • f — принудительное завершение мешающих перезагрузке процессов
  • t — время, через которое завершение работы будет выполнено, указывается в секундах через пробел. Если данный параметр не используется команда будет выполнена через 60 секунд.

Утилита PsShutdown от Sysinternals

Если штатные возможности вас по какой-либо причине не устраивают, то можно воспользоваться альтернативой — утилитой PsShutdown от Sysinternals. Разместите скачанный файл в любом удобном месте, лучше всего в одном из указанных в переменной PATH, либо добавьте туда ее расположение, это позволить запускать ее по короткому имени, без указания пути. Синтаксис утилиты похож на синтаксис стандартной, но есть некоторые отличия, так для выключения выполните:

а для перезагрузки:

Поясним используемые ключи:

  • k — выключение системы
  • r — перезагрузка
  • f — принудительное завершение процессов
  • t — время выполнения команды

Если вместо ключа -k использовать для выключения ключ -s, то система завершит работу без выключения питания, старожилы должны хорошо помнить:

Кроме того, данная утилита позволяет управлять питанием других ПК по сети. Если честно, то работать по сети умеет и штатная утилита shutdown, достаточно указать ключ:

Но есть один существенный недостаток — команда выполняется в контексте запустившего его пользователя, поэтому вы из дома не сможете выключить рабочий ПК, даже имея доступ в корпоративную сеть через VPN и имея учетные данные администратора сети.

PsShutdown данного недостатка лишена и позволяет указывать учетные данные для подключения к удаленному ПК, например:

Данная команда выполнит перезагрузку удаленного ПК computer использовав для подключения имя username и пароль password. Следует помнить, что указанный вами пользователь должен иметь права доступа к административному ресурсу ADMIN$. В среде Active Directory этим правом обладает администратор домена, а вот в одноранговой сети могут возникнуть затруднения.

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

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

А затем в ветвь реестра

добавить параметр типа DWORD с именем

и установить его значение равным 1. После этого компьютер потребуется перезагрузить.

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

Как видим в этот раз команда отработала успешно.

PowerShell

Использовать PowerShell для выключения или перезагрузки компьютера, это сродни стрельбы из пушки по воробьям, но в ряде случаев может оказаться полезным.

Для выключения используйте команду:

А для перезагрузки:

Ключ -Force в данном случае аналогичен ключу -f команды shutdown и предполагает принудительное завершение работы мешающих выключению приложений.

Также PowerShell можно использовать для управления питанием по сети, например, можно выключить удаленный ПК командой:

  • ComputerName — имя удаленного компьютера, допускается перечисление нескольких имен через запятую
  • Credential — имя учетной записи для аутентификации в удаленной системе

При этом работа через PowerShell более безопасна, так как пароль не вводится открытым текстом и не остается в истории команд. Для аутентификации используются стандартные механизмы ОС.

Как видим, для управления питанием в ОС Windows доступны самые разнообразные инструменты — на любой вкус и цвет. При этом все они доступны внутри терминальной сессии, какой из них использовать — дело личного вкуса и предпочтений.