Interactive services detection windows 10

Interactive services detection windows 10

Enables user notification of user input for interactive services, which enables access to dialogs created by interactive services when they appear. If this service is stopped, notifications of new interactive service dialogs will no longer function and there might not be access to interactive service dialogs. If this service is disabled, both notifications of and access to new interactive service dialogs will no longer function.

This service also exists in Windows 7, 8 and Vista.

Startup Type

Windows 10 version Home Pro Education Enterprise
1507 Manual Manual Manual Manual
1511 Manual Manual Manual Manual
1607 Manual Manual Manual Manual
1703 Manual Manual Manual Manual
1709 Manual Manual Manual Manual
1803 not exists not exists not exists not exists
1809 not exists not exists not exists not exists
1903 not exists not exists not exists not exists
1909 not exists not exists not exists not exists
2004 not exists not exists not exists not exists
20H2 not exists not exists not exists not exists

Default Properties

Display name: Interactive Services Detection
Service name: UI0Detect
Type: interact
Path: %WinDir%\system32\UI0Detect.exe
Error control: normal
Object: LocalSystem
Privileges:
  • SeTcbPrivilege
  • SeAssignPrimaryTokenPrivilege
  • SeIncreaseQuotaPrivilege
  • SeDebugPrivilege

Default Behavior

The Interactive Services Detection can interact with the desktop, receiving input from users. If Interactive Services Detection fails to start, the error is logged. Windows 10 startup proceeds, but a message box is displayed informing you that the UI0Detect service has failed to start.

Restore Default Startup Type for Interactive Services Detection

Automated Restore

1. Select your Windows 10 edition and release, and then click on the Download button below.

2. Save the RestoreInteractiveServicesDetectionWindows10.bat file to any folder on your hard drive.

3. Right-click the downloaded batch file and select Run as administrator.

Обнаружение интерактивных служб: что это такое и как отключить

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

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

Что означает «Обнаружение интерактивных служб»?

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

Читайте также:  Браузеры для линукс альт

Предположим, у вас есть какая-то программа, которая изначально была рассчитана на модификацию серверной операционной системы Windows Server 2008 R2. Системный администратор производит миграцию сервера на Windows Server 2012 и пытается запустить приложение, которое работало в прошлой версии ОС, но не работает в новой. Тут-то и срабатывает обнаружение интерактивных служб, поскольку интерфейс самого приложения может быть отображен в новой ОС только в режиме так называемой нулевой сессии (при автозапуске). Отобразить интерфейс программы новая система не может. И именно поэтому для совместимости и выполняется процесс обнаружения интерактивных служб.

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

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

Варианты появления окна обнаружения интерактивных служб

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

Так, например, в Windows 7 обнаружение интерактивных служб срабатывает как раз после полной загрузки системы и ее компонентов. Почему так? Точного ответа на этот вопрос нет, хотя можно предположить, что пользователь каким-то образом активировал эту службу, или устанавливал в систему явно устаревшие программы. Очень может быть, что деинсталляция была произведена не в полном объеме, а остаточные компоненты удаленного приложения остались в автозагрузке (хотя в стандартном разделе они могут и не отображаться).

Отключение службы через соответствующий раздел

Теперь посмотрим, как отключить этот компонент. Для этого можно использовать два основных метода. Первым вариантом является произведение необходимых действий именно в разделе служб. Попасть в него максимально быстрым способом можно через консоль «Выполнить», в которой вводится команда services.msc.

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

Какой тип запуска установить?

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

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

Отключение службы через реестр

Также обнаружение интерактивных служб может быть отключено и в системном реестре. Сам редактор вызывается через меню выполнения программ командой regedit.

В нем необходимо использовать ветку HKLM, перейти через разделы SYSTEM и CurrentControlSet до каталога Control, и в нем открыть подпапку Windows. Справа имеется ключ NoInterectiveServices. Войдя в меню редактирования через меню ПКМ или двойной клик, значение параметра следует изменить с нуля на единицу. Если запуск старых программ все-таки нужен, параметр изменять не стоит.

Читайте также:  Можно ли форматировать ssd диск перед установкой windows

Примечание: чтобы долго не заниматься переходом по разделам реестра, можно сразу же задать поиск ключа по названию, используя для этого либо меню «Файл», либо сочетание Ctrl + F. Такой параметр в реестре всего один, так что проблем быть не должно.

Вместо итога

Напоследок стоит отметить, что описанный выше системный компонент, присутствующий во всех относительно новых операционных системах Windows, является уникальным инструментом, поскольку позволяет запустить любой, даже самый старый, программный продукт в их среде. Если использовать старт таких приложений в режиме совместимости при активации соответствующего пункта в меню свойств ярлыка, ничего может и не получиться, ведь устаревшие системы, на которые была рассчитана искомая программа, в списке попросту отсутствуют. А этот компонент дает возможность их использования практически стопроцентную. Другое дело, что нынешние юзеры такими приложениями фактически никогда не пользуются, поэтому, конечно же, им эта служба не потребуется ни при каких обстоятельствах.

А вот системным администраторам предприятий, на которых используется устаревшее ПО (например, «Эффект Оффис» 2.8) такая служба пригодится. Она в некотором смысле станет даже единственной панацеей, которая поможет избежать появления проблем совместимости. Вот им уж точно нет никакого резона деактивировать такой уникальный компонент (если хотите, «переходник»).

Исследование сервиса «Обнаружение интерактивных служб» (UI0Detect) Часть 2: Windows 8 — Windows 10

Первая часть блога по исследованию сервиса UI0Detect в больше степени касается таких операционных систем, как Windows Vista и Windows 7.
Механизм переключения на Рабочий стол нулевой сессии в этих ОС одинаков (за исключением некоторых неважных мелочей).
Но в Windows 8/8.1 и Windows 10 ядро было переписано в угоду «безопасности». Коснулись эти изменения и сервиса Обнаружение интерактивных служб.

Немного освежим память и посмотрим как UI0Detect работает в Vista и 7.
Как мы знаем, механизм переключения в сессию 0 перекочевал из подпрограммы Winlogon в подпрограмму Wininit.
В точке входа Wininit (функция WinMain) определены две internal функции RegisterSession0ViewerWindowHookDll и UnRegisterSession0ViewerWindowHookDll (вторая функция не представляет особого интересна и рассматриваться не будет).
Описание кода функции RegisterSession0ViewerWindowHookDll можете найти в первой части, но для наглядности я приведу её прототип

Как видно, функция пустая и не принимает никаких аргументов.
Суть в том, что в Vista и 7 инструмент перехода в сессию 0 находился прям в Wininit.exe и не требовалось никаких дополнительных действий чтобы его задействовать.
Но в Microsoft посчитали, что это небезопасно и решили убрать функции RegisterSession0ViewerWindowHookDll и UnRegisterSession0ViewerWindowHookDll из ядра системы. Что же они сделали?

Гуляя в дизассемблере по Wininit.exe можно наткнуться на массивную функцию PrimaryTerminalAndHookWorker

По косвенным признакам и вспоминая из первой части, что для перехода на рабочий стол нужен дескриптор этого рабочего стола (s_hdeskApplication), который функция RegisterSession0ViewerWindowHookDll получала из другой internal функции CreatePrimaryTerminal

сразу становится ясно, что функция PrimaryTerminalAndHookWorker оперирует нужными дескрипторами для перехода на другие рабочие столы других сессий.

Вот её прототип (от версии к версии ОС функция постоянно меняется, я приведу код для Windows 10 build 1709)

Но функция PrimaryTerminalAndHookWorker не является внутренней (internal), она экспортируемая.
И экспортируется она из библиотеки wininitext.dll (wininitext.dll появилась именно в Windows 8 и последующих ОС, в Windows 7 и предыдущих ОС её не было).

Читайте также:  Пакет необходимых драйверов для windows 10 64 bit

Посмотрим на мнемонику функции PrimaryTerminalAndHookWorker в дизассемблере (код для Windows 10 build 1709)

по умолчанию значение NoInteractiveServices установлено в единицу (1).

Теперь я приведу мнемонику функции PrimaryTerminalAndHookWorker из ОС Windows 10 build 2009 (20H2)

Как можно видеть функция RegisterSession0ViewerWindowHookDll просто отсутствует в коде PrimaryTerminalAndHookWorker (UnRegisterSession0ViewerWindowHookDll также удалена из библиотеки wininitext.dll).

На данный момент я ищу способ вернуть функциональность RegisterSession0ViewerWindowHookDll и Microsoft немного способствует этому (хукать библиотеку всё же проще, чем защищенный процесс).

И ещё один важный момент. В Windows 10 Microsoft переписала драйвер клавиатуры и мыши в сессии 0.
Перейдя в сессию 0 у вас не будет работать клава-мышь!

Они переписали драйвер win32kfull.sys, точнее 2 функции — RawInputThread (отвечающую за ввод клавиатуры) и xxxDesktopThread (отвечающую за ввод мыши).

Утрированно, в коде это выглядит следующим образом:
в Windows 8/8.1

Так что переходя в сессию 0 в Windows 10 не забудьте поставить таймер на возврат, ну или напишите свой дров для клава-мыши

Interactive services detection windows 10

Вопрос

В новом обновлении Windows 10 1803 вы убрали службу — Обнаружение Интерактивных служб (UI0Detect.exe), которая была в 1709 и более ранних). Из-за чего у нас перестают работать клиенты S-Terra Vpn.
Как восстановить эту службу?

Ответы

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

Если Вам помог чей-либо ответ, пожалуйста, не забывайте жать на кнопку «Предложить как ответ» или «Проголосовать за полезное сообщение» Мнения, высказанные здесь, являются отражение моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется «как есть» без каких-либо гарантий.

  • Предложено в качестве ответа Alexander Rusinov Moderator 28 июня 2018 г. 13:38
  • Помечено в качестве ответа Anton Sashev Ivanov 29 июня 2018 г. 6:31

Все ответы

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

Если Вам помог чей-либо ответ, пожалуйста, не забывайте жать на кнопку «Предложить как ответ» или «Проголосовать за полезное сообщение» Мнения, высказанные здесь, являются отражение моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется «как есть» без каких-либо гарантий.

  • Предложено в качестве ответа Alexander Rusinov Moderator 28 июня 2018 г. 13:38
  • Помечено в качестве ответа Anton Sashev Ivanov 29 июня 2018 г. 6:31

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

Если Вам помог чей-либо ответ, пожалуйста, не забывайте жать на кнопку «Предложить как ответ» или «Проголосовать за полезное сообщение» Мнения, высказанные здесь, являются отражение моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется «как есть» без каких-либо гарантий.

Откат то помогает 100%, и отключение установки крупных обновлений на максимальный срок. Но это так себе решение.

Оцените статью