Используется трассировка событий для Windows для обнаружения csrss.exe
был ответственен за принудительное завершение процесса.
Создать/Начать трассировку
logman создать трассировку "NT Kernel Logger" -ow -o c:\temp\logger.etl -p "Windows Kernel Trace" (процесс) -nb 16 16 -bs 1024 -mode Circular -ct perf -max 4096 -ets
Остановить отслеживание
logman stop "NT Kernel Logger" -ets
TraceView использовался для открытия logger.etl, скопированного содержимого в notepad++ для просмотра/анализа.
Анализ, показывающий, что csrss.exe запускает/завершает wd.exe.
csrss.exe 0x1AF0 запускается
[1]2D08.4F10::08/04/22-12:13:03.4029831 [MSNT_SystemTrace] [Процесс - Запуск] UniqueProcessKey=0xFFFF81069BE15800,ProcessId=0x1AF0,ParentId=0x2D08,SessionId=136,ExitStatus=259,DirectoryTableBase00x2DA0Base00x2DA0Base00 ,Flags=4,UserSID=\NT AUTHORITY\SYSTEM,ImageFileName=csrss.exe,CommandLine=%SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,20480,768 Windows=On SubSystemType=Windows ServerDll= basesrv, 1 ServerDll = winsrv: UserServerDllInitialization, 3 ServerDll = sxssrv, 4 ProfileControl = Off MaxRequestThreads = 16, PackageFullName =, ApplicationId =
WD.exe 0x36AC запускается
[4] 3420.18C0::08/04/22-12:13:25.4538232 [MSNT_SystemTrace] [Процесс - Старт] UniqueProcessKey=0xFFFF81069C5C5800,ProcessId=0x36AC,ParentId=0x3420,SessionId=136,ExitStatus=2009,DirectoryTableBase=0x0001C51C Flags=2,UserSID=S-1-5-21-2800969729-2416879259-3544499912-1943,ImageFileName=WD.exe,CommandLine="C:\Program Files\WD.exe" 13344 6524,PackageFullName=,ApplicationId=
csrss.exe завершает работу WD.exe
[2]1AF0.2CEC::08/04/22-12:13:34.9258068 [MSNT_SystemTrace] [Процесс - завершение] ProcessId=0x36AC
[4] 36AC.1A58::08/04/22-12:13:34.9281592 [MSNT_SystemTrace] [Процесс - Конец] UniqueProcessKey=0xFFFF81069C5C5800,ProcessId=0x36AC,ParentId=0x3420,SessionId=136,ExitStatus=100C80711able,Directory ,Flags=2,UserSID=S-1-5-21-2800969729-2416879259-3544499912-1943,ImageFileName=WD.exe,CommandLine="C:\Program Files\WD.exe" 13344 6524,PackageFullName=,ApplicationId=
Дальнейшее расследование привело к настройке локальной политики (gpedit.msc).
Службы терминалов RemoteApp™ Логика завершения сеанса
https://techcommunity.microsoft.com/t5/security-compliance-and-identity/terminal-services-remoteapp-8482-session-termination-logic/ba-p/246566
Административные шаблоны | Компоненты Windows | Службы удаленных рабочих столов | Узел сеансов удаленного рабочего стола | Ограничения времени сеанса | Установить лимит времени для отключенных сеансов = Включено | 1 минута
Этот параметр политики позволяет настроить ограничение по времени для
отключенные сеансы служб удаленных рабочих столов.
Вы можете использовать этот параметр политики, чтобы указать максимальное количество времени
что отключенный сеанс остается активным на сервере. По умолчанию,
Службы удаленных рабочих столов позволяют пользователям отключаться от удаленного
Сеанс Desktop Services без выхода из системы и завершения сеанса.
Когда сеанс находится в отключенном состоянии, запущенные программы сохраняются.
активен, даже если пользователь больше не подключен активно. К
по умолчанию эти отключенные сеансы сохраняются в течение неограниченного времени.
время на сервере.
Если вы включите этот параметр политики, отключенные сеансы будут удалены.
с сервера через указанное время. Для обеспечения соблюдения
поведение по умолчанию, при котором отключенные сеансы сохраняются в течение
неограниченное время, выберите Никогда. Если у вас сеанс консоли,
ограничения времени отключенного сеанса не применяются.
Если вы отключите или не настроите этот параметр политики, эта политика
Параметр не указан на уровне групповой политики. По умолчанию,
Отключенные сеансы служб удаленных рабочих столов поддерживаются в течение
неограниченное количество времени.
Примечание. Этот параметр политики отображается как в конфигурации компьютера, так и в
Конфигурация пользователя. Если настроены оба параметра политики,
Параметр политики конфигурации компьютера имеет приоритет.
После определения параметр политики также можно найти в реестре:
HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services\MaxDisconnectionTime DWORD = 60000
Технически приложение запускалось и работало в RDS-боксе, ключевым фактором между хорошим (работа) и плохим (завершение) было то, сколько времени потребовалось для отображения пользовательского интерфейса на рабочем столе. Изменение настроек на 5 минут устранило проблему.
Microsoft отказалась задокументировать это состояние выхода, я надеюсь, что это ускорит ваши усилия по устранению неполадок.