Thank you for your kindly update!
That changes the picture quite a bit and in a useful way. The event signature matches the classic “ghost shutdown” pattern on Windows 10/11 and Windows Server 2016/2019/2022. This is not a crash, but a programmatic shutdown triggered from within the user’s session. A few important facts about this exact signature:
RuntimeBroker.exe is not the cause. It brokers UWP/Modern app requests. When any in-session process calls a shutdown API (e.g., ExitWindowsEx) without a proper reason, Windows often logs Event ID 1074 under RuntimeBroker.exe with reason 0x0 (Other/Unplanned).
The message “Restart/Shutdown initiated by the user from the Start → Power menu” is misleading. It simply means something called the same APIs as the Start menu (ExitWindowsEx, InitiateShutdown, WMI Win32Shutdown, or WinRT ShutdownManager)—not that a user clicked Shut Down.
Since the system shuts down daily, you can reliably capture it:
1. Enable Process Creation auditing with command line (captures shutdown.exe)
Computer Configuration → Windows Settings → Security Settings → Advanced Audit Policy → Detailed Tracking → Audit Process Creation = Success
Computer Configuration → Administrative Templates → System → Audit Process Creation → Include command line in process creation events = Enabled
After the next shutdown, in the Security log filter for Event ID 4688 in the minute before the 1074. The Creator Process Name + Process Command Line will name the parent.
2. Enable the WMI-Activity Trace (catches the Win32Shutdown / WMI variant)
Event Viewer → View → Show Analytic and Debug Logs.
Navigate to Applications and Services Logs → Microsoft → Windows → WMI-Activity → Trace → right-click Enable Log.
After the shutdown, look for Event ID 11 in that log. Use ClientProcessId and ClientMachine (can reveal remote initiators)
3. Run Process Monitor with an auto-stop trigger
Trigger on System / User32 / 1074, then stop Procmon:
"C:\WMI\procmon.exe" /Terminate
4. Inspect processes running as DomainUser
Run via powerShell:
# List everything running in the user's session
Get-CimInstance Win32_Process |
Where-Object { (Invoke-CimMethod -InputObject $ -MethodName GetOwner).User -eq 'DomainUser' } |_
Select-Object ProcessId, Name, CommandLine, CreationDate |
Sort-Object CreationDate
Compare with a healthy machine. Differences often include startup scripts / HKCU\Run, kiosk tools, RMM agents, idle-timeout utilities and custom apps calling shutdown APIs
5. Baseline recent 1074 events via Powershell
Get-WinEvent -FilterHashtable @{LogName='System'; Id=1074} -MaxEvents 20 |
Select-Object TimeCreated,
@{n='Process';e={$.Properties[0].Value}},_
@{n='User';e={$.Properties[6].Value}},_
@{n='ReasonCode';e={'0x{0:X}' -f $.Properties[3].Value}},_
@{n='Type';e={$.Properties[4].Value}} |_
Format-Table -AutoSize
If consistently RuntimeBroker.exe + Power off, this confirms an in-session API call, not hardware or OS failure.