Puncte:1

Windows forțează aplicația să iasă cu starea de ieșire 1073807364 (0x40010004) [DBG_TERMINATE_PROCESS]

drapel sd

Plătind-o înainte cu întrebare și răspuns.

Aplicație de la distanță lansată de pe un desktop printr-un fișier .RDP. În timpul inițializării pe caseta RDS, aplicația este văzută pornind și apoi iese imediat. Ușor de văzut că se întâmplă acest lucru cu Process Explorer și de a captura codul de ieșire prin Process Monitor. Problema principală: nu aveam idee de ce se întâmplă acest lucru și nici nu puteam să prindem această ieșire/excepție în codul gestionat .NET.

Puncte:2
drapel sd

Folosit Urmărirea evenimentelor pentru Windows pentru a descoperi csrss.exe a fost responsabil pentru forțarea procesului să iasă.

Creați/Începeți urmărirea

logman creați urmări "NT Kernel Logger" -ow -o c:\temp\logger.etl -p "Windows Kernel Trace" (proces) -nb 16 16 -bs 1024 -mod Circular -ct perf -max 4096 -ets

Opriți urmărirea

logman stop "NT Kernel Logger" -ets

TraceView a fost folosit pentru a deschide logger.etl, a copiat conținutul în notepad++ pentru a revizui/analiza. TraceView

Analiza care arată csrss.exe pornește/termină wd.exe.

csrss.exe 0x1AF0 pornește
[1]2D08.4F10::04/08/22-12:13:03.4029831 [MSNT_SystemTrace] [Proces - Începe] UniqueProcessKey=0xFFFF81069BE15800,ProcessId=0x1AF0,ParentI0dExt020,S2Bassion=IdExt20200,ParentId0D0801000,BassionDtatus00D0100,S202010001 ,Flags=4,UserSID=\NT AUTHORITY\SYSTEM,ImageFileName=csrss.exe,CommandLine=%SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,20480,768 Windows Server=Type=SystemDll=Type basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=sxssrv,4 ProfileControl=Off MaxRequestThreads=16,PackageFullName=,ApplicationId=

Pornește WD.exe 0x36AC
[4]3420.18C0::04/08/22-12:13:25.4538232 [MSNT_SystemTrace] [Proces - Start] UniqueProcessKey=0xFFFF81069C5C5800,ProcessId=0x36AC=0x36AC,0xBassion4Exit0d00,0xBassion6Exit0d00,0xBassion6Exit0d00,0xBassion6Exit0d00,0xBassion6Exit0000,Bassion3000001 Flags=2,UserSID=S-1-5-21-2800969729-2416879259-3544499912-1943,ImageFileName=WD.exe,CommandLine="C:\Program Files\WD.exe" 13344 13344 6524IPameck=WD.exe,CommandLine="C:\Program Files\WD.exe"

csrss.exe termină WD.exe
[2]1AF0.2CEC::04/08/22-12:13:34.9258068 [MSNT_SystemTrace] [Proces - Terminare] ProcessId=0x36AC
[4] 36AC.1A58 :: 04/08/22-12: 13: 34.9281592 [msnt_systemTrace] [Proces - final] UniqueProceskey = 0xfff81069c5c5800, ProcessID = 0x36ac, parentID = 0x3420, SessionId = 136, ExitStatus = 10738073 ,Flags=2,UserSID=S-1-5-21-2800969729-2416879259-3544499912-1943,ImageFileName=WD.exe,CommandLine="C:\Program Files\WD.exe" 13344499912-1943,Application=WD.exe,CommandLine="C:\Program Files\WD.exe"

Investigații ulterioare au condus la o setare de politică locală (gpedit.msc).

Terminal Services RemoteApp⢠Logica de terminare a sesiunii
https://techcommunity.microsoft.com/t5/security-compliance-and-identity/terminal-services-remoteapp-8482-session-termination-logic/ba-p/246566

Șabloane administrative | Componente Windows | Servicii desktop la distanță | Gazdă sesiune Desktop la distanță | Limitele de timp ale sesiunii | Setați limita de timp pentru sesiunile deconectate = Activat | 1 minut

Editor local de politici de grup

Această setare de politică vă permite să configurați o limită de timp pentru sesiuni de servicii desktop la distanță deconectate.

Puteți utiliza această setare de politică pentru a specifica durata maximă de timp că o sesiune deconectată rămâne activă pe server. În mod implicit, Serviciile Desktop la distanță le permit utilizatorilor să se deconecteze de la o telecomandă Sesiune Desktop Services fără a vă deconecta și a încheia sesiunea.

Când o sesiune este într-o stare deconectată, programele care rulează sunt păstrate activ chiar dacă utilizatorul nu mai este conectat activ. De implicit, aceste sesiuni deconectate sunt menținute pe o perioadă nelimitată timp pe server.

Dacă activați această setare de politică, sesiunile deconectate sunt șterse de pe server după perioada de timp specificată. Pentru a pune în aplicare comportament implicit că sesiunile deconectate sunt menținute pentru o timp nelimitat, selectați Niciodată. Dacă aveți o sesiune de consolă, limitele de timp pentru sesiunile deconectate nu se aplică.

Dacă dezactivați sau nu configurați această setare de politică, această politică setarea nu este specificată la nivel de politică de grup. Fii implicit, Sesiunile deconectate de la Remote Desktop Services sunt menținute pentru un perioadă nelimitată de timp.

Notă: Această setare de politică apare atât în ​​Configurarea computerului, cât și în Configurare utilizator. Dacă ambele setări ale politicii sunt configurate, Setarea politicii de configurare a computerului are prioritate.

Când este definită, setarea politicii poate fi găsită și în registru:

HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services\MaxDisconnectionTime DWORD = 60000

Registru

Aplicația începea și rula din punct de vedere tehnic pe cutia RDS, factorul cheie între bine (operațional) și rău (terminare) a fost cât timp a durat pentru a afișa o interfață de utilizare pe desktop. Modificarea setărilor la 5 minute a corectat problema.

Microsoft a refuzat să documenteze această stare de ieșire, sper că acest lucru vă va accelera efortul de depanare.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.