Guide

Which services should be running?

The honest answer is that nobody can tell you, and every list that claims to is describing a machine that is not yours. What can be answered is narrower and far more useful: what does not add up on this machine, and what is different from when it worked.

Why the general question has no answer

  • The set differs by Windows edition, version and role. A domain controller, a laptop and a container host disagree about almost everything, and a list written for one is wrong for the others.
  • Half of what is installed is not from Windows. Drivers, agents, update services, licence daemons - every one of them was put there by something, and no general list knows which.
  • Most services are meant to be stopped. A modern Windows starts a fraction of what it registers: the rest wait for a trigger - a device arriving, a port opening, joining a domain - and stopped is their correct state.
  • "Disable these for performance" lists are how machines break. The service that looks idle is the one something else starts on demand, and the failure shows up a week later somewhere unrelated.

The questions that do have answers

What should be up and is not

start:auto !status:running

Windows was told to start these and they are not running. On a healthy machine this is a short list - a couple of entries that start late and stop again. Anything else is worth a look.

What is disabled and running anyway

mismatch:running

Configuration and state disagree. Usually somebody disabled it without stopping it, and the next restart will be a surprise.

What points at a file that is gone

file:missing

An uninstall that left the registration behind. Harmless until something tries to start it, and a clue about what used to be on this machine.

What nobody signed

signed:no peruser:no

Not proof of anything by itself, and the right place to start reading. The second term drops the per-user families, which otherwise fill the list with near-duplicates.

What asks for the strongest privileges

privilege:SeDebugPrivilege

A privilege that lets a process open any other one. A handful of legitimate services ask for it, and it is worth knowing which on your machine do.

What is waiting for a trigger

trigger:any status:stopped

Stopped because nothing has asked for them yet, rather than because something is wrong. Knowing which these are is how the first list stops being alarming.

The one that beats all of them

Ask the machine itself, when it was working.

Take a snapshot the day the machine goes into service. Then should this be running becomes was this running when everything worked - a question about your machine rather than about a machine in an article.

bws snapshot create C:\baselines\web01.json --note "after the build"
# ... a week, a patch, or an incident later
bws snapshot diff C:\baselines\web01.json --live

Configuration is reported apart from running state, so the answer is not forty services that happen to be up - it is the start type somebody changed.

Auditing a machine for drift

Before you stop anything

Every stop in this tool shows its plan first: the steps, what comes down with them, and a warning when one of them is something the machine does not work without. The list of those is a starter list of seven - the two halves of RPC, the account manager, key isolation, the session manager and plug and play - and Remote Desktop is not on it, so over a remote session, read the plan.