- Возможные причины
- Методы завершения сессии пользователя не терминале
- Запуск и остановка процессов из PowerShell
- Описание проблемы
- Запасаемся попкорном или CVE-2019-0708
- Как закрыть программу, если она зависла и никак не хочет закрываться
- Закрываем зависшую программу при помощи Панели задач
- Закрываем зависшую программу при помощи Диспетчера задач
- Закрытие зависшей программы при помощи Process Explorer
- Вырубаем компьютер
- Радикальный подход
- Как выкинуть застрявшую сессию, если пока сервер перезагружать нельзя
- Get-Process – получение списка запущенных процессов
- Через меню
- Управление процессами на удаленном компьютере
- Зависла rdp сессия windows 10
- Способы закрыть не отвечающую программу
- Как закрыть программу, если она зависла и не закрывается
- Зависает подключение к удаленному рабочему столу (RDP) при подключении через VPN
- Как отключить пользователя через logoff
- Использование утилиты RWINSTA
- Обожаю эти многоуровневые подключения
- Выход пользователя через командлет Stop-TerminalSession
- Для ноутбуков
- Как закрыть программу принудительно, если она зависла и не реагирует на нажатия.
- Дополнительные программы
- Выход пользователя через командлет Stop-TSSession
- Второй метод разлогинить пользователя на терминальном сервере
- Избавляемся от подвисания RDP сессии
- Устранение проблемы с висящим выходом с терминала
- Дополнение 18. 2019
- Горячие клавиши
- Как определить, что программа зависла
- Ожидание
- Как закрыть зависшую программу в Windows 10
- Диспетчер задач
- Командная строка
- Монитор ресурсов
- Утилита SuperF4
- Проблемы с RDP (удалённый рабочий стол)
- Дубликаты не найдены
- Как отключить пользователя через reset session
- Как выкинуть пользователя из оснастки управления RDS
- Как принудительно закрыть программу в Windows 10
- Рекомендации пользователей
- Как закрыть программу, если она не закрывается? Особенности, способы и рекомендации
Возможные причины
- Эта проблема возникает из-за накопления устаревших записей реестра. Следовательно, приложению, использующему Crawl Scope Manager (CSM) для запроса правил области, требуется много времени для перечисления устаревших записей реестра.
- После выхода из системы файл splwow64.exeпродолжает работу
Методы завершения сессии пользователя не терминале
Существует несколько методов позволяющие выкинуть пользователя с сервера.
- Завершить сессию пользователя (Сделать log off) вы можете из оснастки управления RDS фермой
- Выход пользователя можно выполнить из утилиты командной строки rwinsta
- Утилита командной строки log off
- Утилита reset session
- * Командлет Stop-TSSession
Добрый день! Уважаемые читатели и гости IT портала Pyatilistnik.org. Вчера я вас научил определять номер и ID сеанса пользователя на RDS ферме или терминальном сервере. Там я вам рассказывал, что это нужно в случаях, когда вам необходимо завершить сессию пользователя, по ряду причин, одна из таких, это просто ее зависание. После чего человек и подключиться не может заново и не может выйти из своего сеанса. Вы как администратор, должны уметь решать проблему с зависшими RDP сессиями, ниже я покажу свои методы и алгоритмы.
PowerShell предоставляет широкие возможности управления процессами на локальном или удаленном компьютере. С помощью PowerShell можно получить список запущенных процессов, приостановить зависший процесс, найти процесс по заголовку окна, запустить новый процесс в скрытом или интерактивном режиме.
Список доступных командлетов управления процессами в Windows 10 можно вывести так:
Get-Command –Noun Process

- Get-Process – получить список запущенных процессов;
- Start-Process – запустить процесс/программу;
- Stop-Process – принудительно остановить процесс;
- Debug-Process – используется для отладки процессов;
- Wait-Process – используется для ожидания окончания процесса.

Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов рунета Pyatilistnik.org. В прошлый раз мы с вами научились отключать тестовый режим windows 10, так что двигаемся дальше. Так уж повелось, что я очень часто стараюсь писать про RDS фермы и терминальные столы, которые являются неотъемлемой частью рабочей инфраструктуры, практически на любом среднем и крупном предприятии. Как следствие, хоть вы и можете организовать отказоустойчивость посредников подключений (брокеров RDS) и сделать нужное вам количество хостов подключений, это не избавит вас от ситуации, что Session Host (отдельный) может выходить из строя или приходить в глючное состояние. Сегодня я как раз и хочу поговорить, об одной такой ситуации с отдельным хостом подключения в RDS ферме, а именно у пользователя при корректном выходе с него, бесконечно долго висит экран с надписью «Выход из системы», как следствие он не может подключиться к другом хосту. Давайте смотреть в чем проблема и как она решается.
Запуск и остановка процессов из PowerShell
Чтобы запустить новый процесс с помощью PowerShell используется команда:
Start-Process -FilePath notepad
Если каталог с исполняемым файлом отсутствует в переменной окружения $env:path, нужно указать полный путь к файлу:
Start-Process -FilePath ‘C:distrapp.exe’
Можно запустить программу и передать ей аргументы:
Start-Process -FilePath ping -ArgumentList «-n 10 192.168.1.11»
С помощью параметра WindowStyle вы можете задать режим запуска окна процесса (normal, minimized, maximized, hidden). Например, чтобы запустить программу в максимально развернуом окне и дождаться завершения процесса, выполните команду:
Start-Process -FilePath tracert -ArgumentList «192.168.1.11» –wait -windowstyle Maximized
С помощью командлета Stop-Process можно завершить любой процесс. Например, чтобы закрыть все запущенные процессы notepad:
Stop-Process -Name notepad
По-умолчанию не запрашивается подтверждение завершения процесса. Закрываются все процессы, которые соответствуют указанным критериям. Чтобы запросить подтверждение завершения для каждого процесса, добавьте –Confirm.
Stop-Process -Name notepad.exe -Confirm

Также завершить процесс можно так:
(Get-Process -Name notepad).Kill()
Из PowerShell можно принудительно завершить все приложения, которые не отвечают диспетчеру процессов Windows:
Описание проблемы
Есть RDS ферма на основе Windows Server 2012 R2, состоящая из двух посредников подключений (Connection broker) и 15 хостами подключений (Session Host). Ко мне обратился пользователь, который не мог попасть на терминальный стол. Его сессия была активной. Я попытался сбросить терминальную сессию, но эффекта это не дало, у человека висел экран выхода из системы и больше ничего не происходило. Так как брокеры видели, что его сессия еще активна, то они при последующих попытках перекидывали его именно на данный терминальный стол, в результате он не мог работать. Выглядит это вот так.

В данной реализации RDS фермы настроены перемещаемые профили, располагающиеся на сетевом ресурсе. Вот некоторые симптомы ситуации:
- У вас есть сервер служб удаленных рабочих столов (RDS) на основе Windows Server 2008 R2 SP1 или выше, на котором установлена функция Windows Desktop Search (WDS).
- Учетные записи пользователей настроены на использование перемещаемых профилей, когда пользователи входят на сервер RDS с помощью протокола удаленного рабочего стола (RDP).
- Вы включаете следующий параметр групповой политики для удаления кэшированных копий перемещаемых профилей при выходе пользователя из системы:Конфигурация компьютера — Административные шаблоны — Система — Профили пользователей — Удалить кэшированные копии перемещаемых профилей
- Много пользователей входят и выходят с сервера RDS удаленно
Если посмотреть логи Windows, то вы можете обнаружить ряд ошибок с кодом ID 7011, что «Превышение времени ожидания (30000 мс) при ожидании ответа транзакции от службы»

Запасаемся попкорном или CVE-2019-0708
Стало известно об опасной уязвимости в протоколе RDP: корпорация Microsoft подготовила экстренный патч для уязвимости с идентификатором CVE-2019-0708, позволяющей выполнить произвольный код на целевой системе.
Уязвимость удаленного выполнения кода существует в службах удаленных рабочих столов (ранее они назывались службами терминалов), когда злоумышленник, не прошедший проверку подлинности, подключается к целевой системе с помощью RDP и отправляет специально созданные запросы. Эта уязвимость использует предаутентификацию и не требует взаимодействия с пользователем. Злоумышленник, успешно воспользовавшийся данной уязвимостью, может выполнить произвольный код в целевой системе.
Чтобы воспользоваться уязвимостью, злоумышленнику необходимо отправить специально созданный запрос службе удаленных рабочих столов целевых систем через RDP.
Интересным является тот факт, что эту или схожую уязвимость продавали в «даркнете» как минимум с сентября прошлого года:
description: This is a bug in RDP protocol. That means you may exploit any Windows remotely who enables RDP.
vulnerability type: Heap overflow
affected versions: Windows 2000/XP/2003/Vista/7/2008(R2)
privilege level obtained: SYSTEM privilege
reliability: 90% for one core / 30% for multiple core
exploitation length: around 10 seconds
Как закрыть программу, если она зависла и никак не хочет закрываться
Попробуйте нажать на клавиатуре одновременно следующие комбинации клавиш:
ALT + F4
CTRL + W
Не спешите нажимать все комбинации сразу. Нажмите одну из комбинаций и немного подождите. Обычно такой трюк закрывает большинство зависших окон программ.
Закрываем зависшую программу при помощи Панели задач
Найдите на панели задач значок зависшей программы и кликните по нему правой кнопкой мыши. Появится контекстное меню, в котором необходимо выбрать пункт «Закрыть окно». И через 5-10 секунд программа закроется.
Закрываем зависшую программу при помощи Диспетчера задач
Если после предыдущих манипуляций окно программы не закрылось, и она упорно продолжает работать, то можно попробовать закрыть её при помощи диспетчера задач. Для этого жмем на клавиатуре одновременно три заветные клавиши CTRL + SHIFT + ESC.
В 99 % случаев зависших программ этот вариант срабатывает.
Закрытие зависшей программы при помощи Process Explorer
Если же в диспетчере задач не отображается зависший процесс (он просто может не совпадать по названию с зависшей программой), или даже диспетчер не может остановить процесс зависания, то тогда можно запустить небольшую программку под названием Process Explorer. Лучше это сделать заранее, а не тогда, когда у вас что-то зависнет.
Программа не требует установки. Вы просто можете запустить её даже не распаковывая архива.
В отличие от диспетчера задач, в ней отображаются все процессы, которые запущены на вашем компьютере.
Находите свою зависшую программу или процесс, кликаете по ней правой кнопкой мыши, и выбираете в контекстном меню пункт «Kill Process» (в переводе – убить процесс), или нажимаете на клавиатуре кнопку Delete (сокращенно – DEL).
Вырубаем компьютер
Если ничего из вышеперечисленного не помогло, то остается только перезагрузить или выключить компьютер при помощи кнопки RESET (которой на новых компьютерах уже нет), или нажать на кнопку включения компьютера и подержать её несколько секунд, пока компьютер не выключиться.
Это можно делать только в крайних случаях, иначе вы можете потерять не только не сохраненные данные, но нарушите загрузочную область операционной системы. И тогда ваш компьютер больше не загрузится без помощи знающего человека.
Если у вас зависает не какая-то определенная программа, а весь компьютер целиком, то тут нужны другие меры. Читайте об этом в статье «Компьютер постоянно зависает. Причины зависания компьютера».
На этом пока все. Пишите, спрашивайте, если что не понятно. Удачи вам!
Радикальный подход
Как можно закрыть программу, если она зависла? Следующий метод является радикальным. Торопиться с ним не нужно, хоть он и считается самым простым. Дело все в том, что для успешного завершения программ, требуется. перезагрузка операционной системы.
Не закрывается программа «Скайп»? Как закрыть ее? Точно так же, как и все иные приложения. Для начала испробовать все перечисленные ранее методы. Если они не помогли, то пользователю не остается ничего, кроме как осуществить перезагрузку компьютера.
Пользоваться «Пуском» не рекомендуется. Ведь зависшие программы иногда мешают осуществлению соответствующей операции. Вместо этого требуется отыскать на компьютере кнопку Reset и нажать на нее. Это экстренная перезагрузка. Данный вариант действует на стационарных компьютерах. Перед тем как пользоваться им, рекомендуется сохранить все данные в других приложениях. Кроме того, стоит учитывать, что постоянная перезагрузка компьютера не лучшим образом сказывается на работоспособности устройства.
Как выкинуть застрявшую сессию, если пока сервер перезагружать нельзя
Что мы делаем, воспользуемся утилитой qwinsta или любым ее аналогом, коих много. Для начала нужно выяснить ID сеанса у нужного пользователя, для этого введите:
qwinsta /server:имя сервера или qwinsta (Локально)

Далее вам необходимо открыть командную строку в режиме администратора и ввести вот такую команду, которая убьет все процессы у данной сессии.
taskkill /FI «SESSION eq 109» /F (eq это номер ID сессии, который мы получили ранее)
Кстати посмотреть текущие процессы у данного сеанса, можно командой:

Еще после выполнения команды taskkill, у вас в списке пользователей может остаться висеть пользователь с именем (4), просто убейте его из диспетчера задач, должно получиться. Так же вы можете использовать удобную утилиту Process Explorer. зная ID сессии, вы так же можете попытаться завершить нужные вам процессы.
Еще вам советую провести диагностику целостности системных файлов, через утилиту:

После чего, еще выполнить:
Dism /online /cleanup-image /restorehealth
Get-Process – получение списка запущенных процессов
Командлет
Get-Process
позволяет вывести список запущенных процессов на локальном компьютере.

По-умолчанию выводятся следующие свойства запущенных процессов:
- Handles – количество дескрипторов ввода — вывода, которые отрыл данный процесс;
- NPM(K) — Non-paged memory (невыгружаемый пул). Размер данных процесса (в Кб.), которые никогда не попадают в файл подкачки на диск;
- PM(K) – размер памяти процесса, которая может быть выгружена на диск;
- WS(K) – размер физической памяти в Кб, используемой процессом (working set).
- CPU(s) – процессорное время, использованное процессом (учитывается время на всех CPU);
- ID — идентификатор процесса;
- ProcessName – имя процесса.
Чтобы получить все свойства нескольких процессов:
Можно вывести только определенный свойства процессов. Например, имя (ProcessName) время запуска (StartTime), заголовок окна процесса (MainWindowTitle), имя исполняемого файла (Path) и наименование разработчика (Company):

Вывести список запущенных процессов пользователя с графическими окнами (в список не попадут фоновые и системные процессы):

С помощью Where-Object можно выбрать процессы в соответствии с заданными критериями. Например, выведем все процессы, которые используются более 200 Мб оперативной памяти, отсортируем процессы в порядке убывания используемого объема RAM, размер памяти из Кб преобразуем в Мб:

Как мы уже говорили ранее командлет Get-Process в параметре CPU содержит время использования процессора конкретным процессом в секундах. Чтобы отобразить процент использования CPU процессами (по аналогии с Task Manager), используйте такую функцию:

Чтобы найти зависшие процессы (которые не отвечают), выполните команду:
Через меню
Как закрыть программу, если она не закрывается? Следующий прием работает чаще, чем сочетание клавиш. Пользователи используют его на практике с заметным успехом. Чтобы закрыть зависшее приложение, можно вызвать меню действий с программой, а затем выбрать там соответствующую функцию.
Для этого нужно:
- Навести курсор на окно программы на панели задач.
- Нажать по соответствующему приложению правой кнопкой мышки.
- В появившемся меню выбрать «Закрыть окно». Если система выдаст какое-то предупреждение, согласиться с ним.
- Подождать некоторое время.
Как правило, после проделанных действий программа закрывается самостоятельно через 10-15 секунд. Если данный способ не помог, не нужно паниковать. Можно попробовать воспользоваться иными методами. К счастью, в Windows предусмотрено довольно много способов закрытия приложений.

Управление процессами на удаленном компьютере
С помощью аргумента ComputerName командлет Get-Process позволяет управлять процессами на удаленных компьютерах (должен быть включен и настроен WinRM).
Мы рассматриваем встроенные возможности комнадлета Get-Process для управления процессами на удаленных компьютерах. Здесь не учитываются возможности PowerShell Remoting, которые доступны в командлетах Invoke-Command и Enter-PSSession.
Если вы хотите завершить процесс на удаленном компьютере, имейте в виду, что у командлета Stop-Process отсутствует параметр –ComputerName. Для завершения процесса на удаленном компьютере можно использовать такой PowerShell код:
$RProc = Get-Process -Name notepad -ComputerName dc01Stop-Process -InputObject $RProc
Зависла rdp сессия windows 10
Что я пробовал: Удалять ключи сертификатов в ветке HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerRCM Реактивировал сервер лицензий. Добавлял ключи KeepAliveEnable 1, KeepAliveInterval 1 и fDenyTSConnections 0 в HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal Server
Установил параметры драйвера сетевой карты содержащих Offload в disable Netsh int tcp set global chimney=Disabled
Netsh int tcp set global rss=Disabled
netsh int tcp set global autotuninglevel=disabled
Способы закрыть не отвечающую программу
И так, самый очевидный и простой вариант — просто кликнуть правой кнопкой мышки по значку зависшей программы на панели задач Windows. После, во всплывшем окне достаточно будет выбрать вариант «закрыть окно» .

Если зависло полно-экранное приложение и до панели задач вы просто не можете добраться, попробуйте сочетания:
- WIN, или WIN+TAB, или ALT+TAB, или ALT+Enter — чтобы свернуть окно;
- ALT+F4, или ESC, или ALT+Q — для закрытия (выхода) из программы.

Перечисленные «горячие» сочетания клавиш работают с подавляющем большинством ПО для Windows.
Нажмите сочетание клавиш Ctrl+Shift+Esc (или Ctrl+Alt+Del) для вызова диспетчер задач. Далее во вкладке процессы найдите зависшую программу (процесс), кликните по ней правой кнопкой мыши и в появившемся выберите «Снять задачу» . Через 3-5 сек. программа должна быть закрыта.

Ctrl+Shift+Esc или Ctrl+Alt+Del — открыть диспетчер задач
Кстати, если рабочий стол после этого стал отображаться «как-то не так» (или вообще не видно) — перезапустите процесс «Проводник» (или «Explorer» на англ.).
Командная строка — универсальная штука, которая может помочь и с закрытием (ликвидацией) зависших процессов (программ). Кстати, если вы наловчитесь с ее использованием — закрывать зависшие полно-экранные приложения можно будет даже в «слепую» (когда на экране ничего не отображается).
Как это делается:
- сначала нужно открыть 👉 командную строку;
- после ввести tasklist и нажать Enter;
- на экране появится список всех процессов (следует уточнить имя процесса/программы, которую нужно закрыть);
- после ввести taskkill /IM chrome.exe /f и нажать Enter (вместо «chrome.exe» — указывается имя нужного процесса) .

Убиваем процесс через командную строку
Если вышеприведенные варианты не увенчались успехом, можно прибегнуть к утилите Process Hacker (ссылка на SourceForge). Это бесплатное ПО, которое покажет вам все запущенные процессы, их приоритеты, занимаемую память, нагрузку и пр.
Чтобы ликвидировать (закрыть) в нем любую из запущенных программ — нужно просто ее выбрать в списке, затем нажать ПКМ по ее имени и в появившемся окне выбрать «Terminate tree» (см. пример ниже 👇).

Process Hacker 2 — закрыть дерево процессов
Стоит отметить, что Process Hacker закроет сразу всё дерево процессов, связанных с этой программой (чего не делают многие др. программы. ).
Если у вас часто начала зависать какая-либо программа (еще хуже программы) — обратите внимание на:
- версию ПО (нежелательно использовать различные бета-версии). Проверьте, совместима ли версия ПО с вашей ОС;
- обновите драйвера (желательно с офиц. сайта);
- проверьте жесткий диск (если он начал «сыпаться» — подвисания будут идти постоянно);
- прогоните систему с помощью спец. «одноразовых» антивирусных продуктов;
- возможно, вашему приложению не хватает ОЗУ (посмотрите при работе ПО — сколько памяти занято в диспетчере задач).
Кроме этого, рекомендую ознакомиться с тематическими инструкциями (ссылки ниже).
1) Вылетает или зависает игра. Что делать?
2) Зависает ноутбук: что делать? Диагностика и устранение причин зависания
Как закрыть программу, если она зависла и не закрывается
Как закрыть зависшую программу? Наверняка вы уже не раз сталкивались с такой проблемой. Многие начинают хаотично щелкать мышкой куда попало, или нажимать на клавиатуре все клавиши подряд. А в конечном итоге просто выдергивают шнур из розетки или выключают блок питания, если у него есть кнопка выключения. Ни один из этих вариантов ни к чему хорошему не приведет, а последний может даже вывести компьютер из строя навсегда.
Зависает подключение к удаленному рабочему столу (RDP) при подключении через VPN
Спасибо. Только не написано где это делать, на клиенте или на сервере.
В заметке речь идет о клиенте, работающем по UDP. Показалось достаточно очевидным отсутствие необходимости указывать где вносить изменения. Да и ветка реестра оканчивается на Client. Кроме этого, RDP-сервер может обслуживать много клиентов как по VPN, так и без него. Нелогично отключать UDP всем из-за одного клиента.
Как на русской локализации будет?
Конфигурация компьютера — Административные шаблоны — Компоненты Windows — Службы удаленных рабочих столов — Клиент подключения к удаленному рабочему столу — Отключение UDP на клиенте — Включено
Как отключить пользователя через logoff
logoff rdp-tcp#43 /server:localhost (Имя сервера можно менять) или logoff 54 /server:localhost

Использование утилиты RWINSTA
Если вы попали в ситуацию, когда графические методы не позволяют вам произвести выход пользователя из системы, а это необходимо, то вам на помощь придут утилиты из командной строки. RWINSTA — это встроенная в Windows утилита, которая позволяет сбрасывать сессии, по ID и имени сеанса. Первым делом вам нужно вычислить или ID сессии или ее имя, я вам рассказывал, о всех известных мне методах. можете ознакомиться. Я выберу утилиту qwinsta. Пишем команду:
В моем примере имя сеанса rdp-tcp#172 и ее ID 515. Пишем команду:
rwinsta rdp-tcp#172 /server:localhost или rwinsta 515 /server:localhost

В период массового перехода на удаленную работу, многим пришлось познакомиться с таким явлением как удаленный рабочий стол. В большинстве случаев, компании предоставляют удаленный доступ к рабочим компьютерам только при подключении через VPN — таким образом обеспечивается более высокий уровень безопасности сети компании.
При использовании RDP поверх VPN периодически могут возникать странные «зависания» удаленного рабочего стола, с последующими дисконнектами или без них или просто значительные подтормаживания интерфейса. Конечно, сначала необходимо исключить проблемы на сетевом уровне (потери пакетов, низкая скорость, высокие задержки и т.д.), но если они уже исключены, а проблемы повторяются — с большой долей вероятности ваш клиент работает по протоколу UDP. Этот режим работы стал режимом по умолчанию начиная с версии RDP 8.0. Сам по себе он призван ускорить работу с RDP, но в связке с VPN-подключением, когда пакеты начинают фрагментироваться перед отправкой в туннель и собираться заново на другом конце — могут возникать проблемы с одновременной доставкой всех «частей» пакета и невозможностью его сборки и, как следствие — задержки и зависания интерфейса.
Отключить работу через UDP можно двумя способами:
После этого зависания должны прекратиться.
Обожаю эти многоуровневые подключения
Проспал, работаю сегодня из дома.
По RDP подключился к своему рабочему компу
Оттуда по RDP на сервер клиента
Оттуда по VNC на комп клиента
И там открыл TeamViewer, чтобы спец из другой фирмы мог творить там свои грязные сисадминские дела.

Выход пользователя через командлет Stop-TerminalSession
Данный командлет устанавливается отдельно, совместно с пакетом Pscx. Первым делом посмотрим локально или удаленно идентификаторы сессии пользователя, для которого мы хотим сделать log off. Выполняем команду:
Get-TerminalSession -ComputerName имя сервера

Нужный мне ID сеанса 427. Далее воспользуемся командлетом Stop-TerminalSession, чтобы выкинуть пользователя и завершить его сессию.
Stop-TerminalSession -ComputerName имя сервера -Id 427 -Force

Как видите сессия 427 больше не существует, и у нас с помощью командлета Stop-TerminalSession получилось выкинуть пользователя из RDS сеанса. На этом у меня все. Остались вопросы, то пишите их в комментариях. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.
Для ноутбуков
Теперь понятно, как закрыть программу, которая зависла. С примерами действий в том или ином случае пользователь мог легко ознакомиться. Подробные инструкции помогут решить поставленную задачу.

Что делать, если все ранее перечисленные способы не помогают, а человек при этом работает не за стационарным компьютером, а за ноутбуком? Или если по ряду причин операционная система отказывается перезагружаться даже после нажатия на Reset?
В таком случае нужно экстренно выключить операционную систему. Но перед этим сохранить все данные на компьютере. Далее нажать на кнопку включение ноутбука (или компьютера) и подержать ее около 5-10 секунд. Операционная система выключится. Далее можно включать компьютер и работать с ним далее.
Недостатком такого метода действий является его опасность для устройства. Частое экстренное выключение ведет к сбоям операционной системы и неисправности «железа». Проблему с зависанием программ такой шаг не решит. Поэтому можно воспользоваться им только в крайнем случае.
Как закрыть программу принудительно, если она зависла и не реагирует на нажатия.
В ряде случаев даже самые «стабильные» и надежные программы могут перестать отзываться на какие-либо нажатия мышки/клавиатуры (т.е. попросту зависнуть).
Для решения вопроса, можно, конечно, перезагрузить ПК/ноутбук — но далеко не всегда это удобно (часть данных в др. ПО будет сброшена и не сохранится. ) .
Логично, что лучше всего закрыть только эту конкретно-зависшую программу. Всем известное сочетание ALT+F4 — далеко не всегда решает проблему, и, собственно, поэтому набросал небольшую заметку с несколькими способами принудительной ликвидации процесса.
Если ПК/ноутбук вообще не реагирует ни на одну из кнопок клавиатуры — то скорее всего зависла не только отдельно-взятая программа, но и в целом система.
Если так, то для перезагрузки/выключения устройства — зажмите кнопку питания (Power) на 4-5 сек. (разумеется, все несохраненные данные будут утеряны) .
Дополнительные программы
Как закрыть программу, если она не закрывается? Пользователю придется:
- Запустить программу. В установке приложение не нуждается, что очень радует пользователей.
- Найти в списке в левой части экрана нужную программу/процесс.
- Выделить его, кликнув правой кнопкой по соответствующей строке.
- В появившемся меню выполнить операцию «Kill».
После этого приложение будет закрыто в экстренном порядке. Преимуществом использования программы является то, что она отображает процессы и программы, скрытые от стандартного «Диспетчера задач».

Выход пользователя через командлет Stop-TSSession
Есть такой замечательный командлет Stop-TSSession. Посмотрим на сервере ID и имя сеанса, для этого в открытой оболочке PowerShell введите:
В итоге я вижу, что у пользователя barboskin.g SessionID 3. Далее пишем
Stop-TSSession 3 или принудительно Stop-TSSession 3 -Force

Второй метод разлогинить пользователя на терминальном сервере

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

Бывает так, что первые два метода не помогают в случаях, когда пользовательская сессия зависает на терминальном сервере, вы вроде бы из графического интерфейса делаете выход, но оно не отрабатывает. В таких случаях нужно использовать утилиты командной строки или PowerShell
Избавляемся от подвисания RDP сессии
В это непростое время, когда весь мир пытается справиться с коронавирусной инфекцией COVID-2019, многие перешли на удаленный режим работы.
Те, кто используют подключение к удаленному рабочему столу (RDP) до своего рабочего компьютера могут столкнуться с фризами (подвисаниями) в работе удаленного рабочего стола (RDP). Обычно, переподключение решает эту проблему, но через некоторое время проблема повторяется. При этом нет видимых проблем со связью.
Причин может быть много, начиная от некорректной работы сетевой карты и заканчивая некорректной работой драйвера или наличия вредоносных программ. Предложенное нами решение поможет в случае, если проблемы наблюдаются в сессиях RDP с использованием UDP протокола.
В начале, следует проверить используется ли UDP при подключении к RDP, для этого необходимо кликнуть на кнопку в окне подключения:

Если появится следующее сообщение:

То для решения проблемы можно попробовать принудительно отключить использование UDP протокола при подключении к RDP.
Указанные действия необходимо проводить на компьютере к которому осуществляется подключение.

Если у Вас Windows 10 Home, воспользуйтесь статьей на нашем сайте для включения редактора gpedit.
Далее, нам следует найти раздел «Конфигурация компьютера» — «Административные шаблоны» — «Компоненты Windows» — «Службы удаленных рабочих столов» — «Клиент подключения к удаленному рабочему столу«

Здесь нам нужно изменить параметр «Отключение UDP на клиенте«. Двойной клик на этом параметре и выбираем «Включено«

Кроме того, нам необходимо найти раздел «Конфигурация компьютера» — «Административные шаблоны» — «Компоненты Windows» — «Службы удаленных рабочих столов» — «Узел сеансов удаленных рабочих столов» — «Подключения«

Здесь нам следует изменить параметр «Выбор транспортных протоколов RDP«. Двойной клик на этом параметре и выбираем «Включено» и в параметрах указываем тип транспорта «Использовать только TCP«.

После сохранения необходимо перезагрузить компьютер.
Для проверки того, что подключение идет без использования протокола UDP кликнем на кнопку в окне подключения:
Теперь в сообщении не должно быть информации о UDP:

Надеемся, что проблема с подвисанием сессии удаленного рабочего стола у Вас исчезнет также как исчезла у нас и вы сможете эффективно продолжить удаленную работу из дома.
Устранение проблемы с висящим выходом с терминала
Данная ситуация для меня не нова, я ее еще наблюдал с Windows Server 2008 R2, где все решалось определенным обновлением, но в случае с Windows Server 2012 R2, это пол дела, от нас потребуется по мимо обновлений, внести правки в реестр. Так что начинаем. Первым делом, чтобы количество людей попавших в данную ситуацию не увеличилось, вам необходимо запретить новые подключения к данному хосту. Сделать, это можно из оснастки управления RDS фермой. В данном случае вы переводите хост в режим стока (drain mode).



После того, как вы произвели установку всех обновлений перезагрузите ваш сервер. Кстати, когда я через PowerShell решил посмотреть ID и статусы сессий на терминальном столе, то увидел необычный для себя статус «Down», это как раз и были люди, у кого висел выход из системы.

Еще одной из рекомендаций в данной ситуации, это отключение службы поиска Windows. Напоминаю, что в Windows Server 2012 R2 и выше, данная служба устанавливается, как компонент, если она вам не нужна, то удалите его.
Еще бывает вот такая ситуация, что некая программа породила новый процесс. Как часть логики завершения сеанса удаленного рабочего стола, если указанная программа порождает новый процесс, этот новый процесс считается частью программы, и сеанс не завершится, пока этот процесс также не завершится.
Одним из сценариев, который соответствует этому критерию, является печать из 32-разрядного приложения на 64-разрядном узле сеансов удаленных рабочих столов. Это действие печати вызовет splwow64.exe, 32 и 64-разрядный процесс thunking для спулера. Splwow64.exe имеет 3-минутный тайм-аут для предотвращения повторного запуска процесса во время интенсивной печати, поэтому он не завершается сразу после завершения печати. Это может привести к тому, что удаленный сеанс будет казаться «зависшим».
Чтобы это исправить я вам советую создать ключ реестра. Для этого открываем ветку:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSet ControlTerminal ServerSysprocs
Создаем новую запись REG_DWORD с именем splwow64.exe и значением 0.


Еще я вам советую слегка увеличить значение одного параметра в реестре WaitToKillServiceTimeout. WaitToKillServiceTimeout — это параметр отвечающий за, то чтобы система закрыла все фоновые приложения. Windows обычно ждет 5 секунд, чтобы фоновые службы очистились и закрылись, когда вы делаете выход из системы или выключаете компьютер. Некоторые приложения могут изменить это значение при установке, предоставляя своим фоновым службам дополнительное время для очистки. Windows принудительно закрывает фоновые службы после этого периода времени. Это значение определяет, сколько секунд Windows ожидает, прежде чем сделать это. Windows автоматически выключится, если все службы будут успешно закрыты до истечения таймера. Я не советую ставить данное значение ниже 2-х секунд, это 2000. В нашей ситуации, когда у вас бесконечно долго висит надпись выход из системы, я советую выставлять WaitToKillServiceTimeout на 15-20 секунд, это значения 15000 или 20000.
Сделать это можно по пути:

И выставите у ключа WaitToKillServiceTimeout нужное значение. Далее желательно перезагрузить терминал и проверить есть ли проблемы с выходом из системы.
Дополнение 18. 2019
Так же еще опытным путем было выяснено, что данная проблема можете возникать, из-за:
- Старой версии VMware Tools, советую установить самую последнюю
- Из-за типа сетевого интерфейса, на сбойной виртуальной машине был выставлен E100E, а не VMXNET3
- Так же был удален TDI vShield Endpoint драйвер
- Еще разбирая логи системы, я обнаружил, что перед тем, как на сервере начинались проблемы, сыпались ошибки с кодом ID 372, ID 600, ID 601, в таких случаях, это были отголоски старых драйверов, которые были заменены на EasyPrint чисткой спулера через задания, на постоянной основе, так как было много зависших заданий.
Диспетчеру печати не удалось импортировать драйвер принтера, скачанный из \серверprint$dPCCoemsetup.inf_amd64_5198ba014245f0a7.cab, в хранилище драйверов для драйвера Kyocera Classic Universaldriver PCL6. Код ошибки: 80070002. Такое возможно при наличии проблем с драйвером или цифровой подписью драйвера.


На этом у меня все, надеюсь, что ваши RDSH хосты стали нормально работать. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.
Горячие клавиши
Итак, выяснилось, что программа не отвечает. Как закрыть зависшую программу? Если ожидание не дает результатов, пользователь должен выбрать тот или иной план действий. Можно понажимать на некоторые клавиши на клавиатуре, а также на их сочетание.

При зависании программы предлагается нажать на:
Данные комбинации способствуют экстренному закрытию многих зависших программ. Не самый действенный, зато имеющий место способ. Но это только начало. Существует еще несколько вариантов.
Как определить, что программа зависла
Прежде чем ломать голову в поисках ответа на вопрос о том, как закрыть программу, если она не закрывается, пользователь должен понять, действительно ли приложение зависло. Вполне вероятно, что работа компьютера оставляет желать лучшего, и команда «закрыть» просто долго обрабатывается.

Как правило, если приложение зависло, оно перестает отвечать на действия пользователя, курсор превращается или в песочные часы, или в небольшой круг (в зависимости от операционной системы), а в заголовке приложения будет надпись «Не отвечает». При этом все попытки завершения работы с программой обычным путем (нажатием на крестик в правом верхнем углу экрана) не дают результатов. Также при нажатии на рабочую область программы экран «покрывается туманом». Все это и есть признаки зависания. Как закрыть программу, если она не закрывается? Лучшие советы и рекомендации будут представлены далее.
Ожидание
Первый совет — немного подождать. Не стоит забывать, что компьютер имеет определенную мощность. При загрузке процессора и оперативной памяти скорость работы ОС снижается. И на обработку операции требуется больше времени.
Соответственно, придется немного подождать. При долгом ответе компьютера на действия, выполняемые в программе, наблюдаются все признаки ее зависания. Срок ожидания не должен превышать 5-10 минут. Если по истечении этого времени никаких ответов на действия пользователя нет, можно приступать к иным способам выключения.
Как закрыть зависшую программу в Windows 10
Вместо обычного закрытия окна, или же выхода через меню программы, можно воспользоваться сочетанием клавиш. Чтобы закрыть АКТИВНОЕ ОКНО, достаточно нажать ALT+F4 (зажать). Если же окно не активное, его перед попыткой закрыть нужно выделить.
Зачастую над «профи» любят подшутить, сказав, что комбинация клавиш Alt+F4 выполнит желаемое действие, а в итоге закроется нужное приложение. Именно поэтому рекомендуем ознакомиться с таблицей всех полезных сочетаний горячих клавиш в Windows 10.
Диспетчер задач
Позволяет останавливать ненужные процессы буквально в несколько нажатий. Откройте диспетчер воспользовавшись сочетанием клавиш Ctrl+Shift+Esc. Дальше во вкладке Процессы находим зависший процесс, и в его контекстном меню выбираем пункт Снять задачу.

Командная строка
Более серьёзный способ завершения работы зависших программ заключается в использовании командной строки запущенной. По сути, способ похож на предыдущий с использованием диспетчера задач. Командами будем смотреть все процессы и снимать ненужные задачи.
- В меню «Пуск» введите назв. Командная строка и выберите Запуск от имени администратора. Выполните команду: tasklist для просмотра всех запущенных процессов.
- В списке находим программу, которая не отвечает. Выполняем команду завершения: taskkill /IM Photoshop.exe /f. Вы можете ввести название неотвечающей программы.
Завершение программы произойдёт буквально в мгновение. Если же имеются дубликаты приложения, тогда будут завершены все его процессы с разными идентификаторами.
В оболочке PowerShell выполните команду: Get-Process. Найдите ProcessName и вставьте его в команду: Stop-Process -processname Photoshop. И программа Photoshop будет закрыта.

Монитор ресурсов

Утилита SuperF4
Можно бесплатно загрузить программу SuperF4 для Windows 10. Она убивает активные программы при нажатии Ctrl+Alt+F4. Если же при нажатии Alt+F4 система закрывает активное окно только активное окно, то SuperF4 просто убивает процесс программы.
Вам не нужно паниковать. Принудительно закрыть зависшую программу можно множеством способов. Даже если не работают горячие клавиши и не сворачивается чёрный экран. Можно и воспользоваться перезагрузкой компьютера. Но это всё приводит к трате времени.
Что делать, если зависла программа? Я же использую клавиши Win+Tab и выбираю Создать рабочий стол. Перетаскиваю зависшее приложение на второй рабочий стол. И на «свободном» открываю диспетчер задач. Теперь зависший процесс, который не отвечает, можно завершить.
Проблемы с RDP (удалённый рабочий стол)
По работе возникает необходимость использовать раб комп из дома удалённо.Т.к. наличие на раб компе белого ip позволяет использовать RDP, то его и пользую.
Всё устраивает, кроме 1. Периодически, если свернуть окно с RDP, а потом развернуть, то окно зависает. Т.е. удалённый комп как бы не реагирует. Решается всё простым перезаходом.Закрываю зависшее окно, коннекчусь заново и всё ок. Это немного напрягает.
С удалённым компом всё ок, не виснет. Как при непосредственной работой за ним, так и после перезахода RDP. Винда и там и там 10 pro x64. Интернет отличный и дома, и на работе. Возникают мысли снести винду на рабочем, но лениво.
P.S. понимаю, что пост сейчас заминусят, но вдруг кто-нибудь сталкивался с подобной проблемой и подскажет, куда копать.Всем спасибо!
Дубликаты не найдены
Используй TCP подключение, а не UDP
так rdp Это как бы tcp по udp Не работает
Отключите UDP и оставьте соединение только по TCP.
От имени администратора откройте консоль CMD и в ней выполните команду:
reg add «HKLMsoftwarepoliciesmicrosoftwindows ntTerminal ServicesClient» /v fClientDisableUDP /d 1 /t REG_DWORD
не сворачивайте, а закрывайте — открывайте, в чем проблема?
0.5гБит скорость на работе и не понимать почему не делается голый rdp.
Здесь причин может быть много.
1) микрообрывы связи (у провайдера, сами роутеры глючат, проходят атаки на роутеры и прочее, плюс сама винда или антивирус может дропать соединение). Попробуйте перегрузить сначала один, затем если не поможет другой роутер, проанализируйте после перезагрузки какого баг пропадает и раскручивайте проблему с той стороны;
3) проверьте ваше оборудование и кабели от одного компьютера до другого — нет ли потерь пакетов (в момент разовой проверки все может быть ок, запустите непрерывно на некоторое время). На самый крайний случай можно удерживать активным соединение обычным пингом с ключом -t, но это только в качестве способа определить проблему
Отрубить всякие рюшечки, кеширование, обои, битмап, проброс ресурсов.
И да — голый рдп вроде не так давно сломали.
а вот про «голый рдп» не совсем понял. Можете поподробнее, пожалуйста.
скорее всего срабатывает таймаут по неактивности пользователя.копай в эту сторону. имхо.может на сервере, может у тебя, может оба варианта.
Тогда рубило бы сессию. Уход домашнего компа в спящий режим тоже глубоко фиолетов.
Может засыпает наглухо рабочий комп?
Если виснет при копировании в буфер — это проблема связи: потеря пакетов либо оч узкий канал. Возможно не справляется роутер, если на нем организован впн. На буфере здесь отрабатывает потому, что то что вы копируете в буфер на удаленной машине, копируется в буфер и на текущей (по рдп машине делаете на файле скпировать, сворачиваете, и на тек.машине вставить. Как файлы целиком, так и текст). Проверьте пингом потерю пакетов.
Переподключение срабатывать наверное не будет. А если отменить и сразу заново организовать соединение — то влет и без проблем соединяется. Мне помогала перезагрузка роутера, на котором организован впн сервер.
Еще как вариант надо все виды сна отключить, а то бывало пк уходил в «полусон», он конечно от первого же пакета просыпался, но пару секунд на это тратил
Голый рдп — рдп напрямую в интернете. Обычно делают ВПН, а потом рдп.
Отключение всего — это не только экономия трафика, но и уменьшение глюков протокола
Отрабатывает тайм-аут соединения скорее асего. Сидеть голым задом читай Белый адрес да в rdp, да вы чертовски рисковый.
Как отключить пользователя через reset session
Завершить сессию пользователя можно и с помощью утилиты командной строки Reset Session. В текущем примере у моего Барбоскина Геннадия Викторовича имя сеанса rdp-tcp#16 с его ID 11. Данную утилиту можно применять как локально на самом терминальном сервере, так и на своей рабочей станции, тут так же есть ключ /server.
reset session rdp-tcp#16 или reset session 11

Как выкинуть пользователя из оснастки управления RDS

Щелкаем по нему правым кликом. В контекстном меню будет пункт «Выйти», это и соответствует завершению сессии (Log off). Так же есть пункт «Отключиться», если выберите его, то пользователь будет выброшен с терминального сервера, но его сессия останется на нем, данная операция равносильна тому, если пользователь просто нажал в окне с названием терминального сервера крестик.

После того, как вы выбрали пункт «Выйти», начнется корректное завершение сессии пользователя на RDS ферме. Сам пользователь увидит сообщение «Работает служба профилей пользователей» и у него закроется окно без ошибки.
Какие именно? Как можно закрыть программу, если она зависла? Когда перечисленные методы не дают результатов, пользователю предлагается действовать несколько иначе. Например, вызвать диспетчер задач, а затем завершить процесс, запущенный той или иной программой.
Данный метод является наиболее эффективным. Он позволяет экстренно закрыть практически любую программу. Не работает лишь в некоторых случаях. Поэтому пользователи зачастую отдают предпочтение именно ему.
Как закрыть программу, которая зависла или не отвечает? Для этого требуется:
- Нажать на сочетание клавиш Ctrl + Alt + Del. Или подойдет Ctrl + Shift + Esc.
- Выбрать в появившемся окне «Диспетчер задач». Если использовалось сочетание с «Шифтом», данный шаг можно пропустить. Соответствующая служба откроется сразу.
- Перейти во вкладку «Приложения».
- Выбрать зависшую программу и нажать на кнопку «Снять задачу» или «Завершить задачу».
- Согласиться с предупреждением операционной системы (если оно выдается), а затем немного подождать.
Как правило, через 5-15 секунд программа будет экстренно закрыта. В некоторых случаях предлагается отправить сообщение об ошибке работы соответствующего приложения. Данный метод можно немного усовершенствовать. Для этого требуется перейти в «Диспетчере задач» во вкладку «Процессы», затем выделить название процесса, который выполняется зависшей программой, и нажать на «Завершить». Так приложение закроется приблизительно в 99 % случаев.

Как принудительно закрыть программу в Windows 10
Часто возникает необходимость принудительно закрывать программы в Windows 10. Если же нужно быстро закрыть программу, то в большинстве случаев она перестаёт отвечать. В некоторых ситуациях приходится перезагружать ПК, чтобы избавиться от зависшей программы.
Рекомендации пользователей
Читателю уже, должно быть, понятно, как принудительно закрыть программу на Windows. Все перечисленные способы помогают без особого труда воплотить задумку в жизнь. Какие советы помогут избежать зависания приложения в следующий раз?
Среди них чаще всего встречаются следующие рекомендации:
- Убедиться в том, что зависла именно программа, а не компьютер. Список действий в том или ином случае будет отличаться. Чаще всего при зависании компьютера помогает экстренная перезагрузка или выключение.
- Проверить компьютер на наличие вирусов. При необходимости пролечить его.
- Переустановить зависающую программу. Иногда такой метод помогает весьма эффективно.
- Не открывать много программ и приложений при работе с проблемным софтом. Чем меньше будет загружен процессор, тем быстрее на нем выполнятся те или иные операции.
- Научиться ждать. Как уже было сказано, иногда процессы просто долго обрабатываются. И поэтому начинает казаться, что компьютерная программа зависла.
- Перепробовать все перечисленные методы. Перезагрузку и выключение компьютера рекомендуется отложить на крайний случай.

Вот и все. На самом деле нет ничего сложного в завершении зависшей программы. Все перечисленные методы успешно используются пользователями ПК в той или иной степени.
Как закрыть программу, если она не закрывается? Особенности, способы и рекомендации
Рано или поздно у многих пользователей возникает вопрос о том, как закрыть программу, если она не закрывается. На самом деле тема не такая уж простая. Ведь зависшие приложения являются огромной проблемой для пользователей. Они не только грузят операционную систему и процессор, но и мешают нормальной работе с компьютером. Далее будут представлены лучшие советы и рекомендации относительно действий при невозможности закрытия того или иного приложения.
