Objective
Look at the services running on your own PC: their names, startup types, accounts, dependencies, recovery plans and permissions. You mostly only look. Nothing in Parts 1 to 5 changes any setting.
Safety first: Do not disable, stop or reconfigure services you do not understand. If a window asks you to confirm a change, press Cancel. Part 6 is optional and is the only part that stops and starts anything.
Time: 25–30 minutes
You need: A Windows 10 or 11 PC. A normal (non-admin) window is enough for Parts 1 to 5.
What to Open
| Tool | How to open it |
|---|---|
| Services | Press Win + R, type services.msc, press Enter |
| Command Prompt | Press Win, type cmd, press Enter (normal, not admin) |
| PowerShell | Press Win, type PowerShell, press Enter (normal, not admin) |
| Task Manager | Press Ctrl + Shift + Esc |
| Event Viewer | Press Win + R, type eventvwr.msc, press Enter |
Part 1: services.msc Walkthrough
In Services, click the Extended tab at the bottom (it shows a description on the left when you select a row). Click the Name column to sort.
- Find Print Spooler. Double-click it. On the General tab write down:
- Service name: ________________
- Path to executable: ________________
- Startup type: ________________
- Service status: ________________
- Click Cancel (do not press Apply or Start/Stop).
- Click the Startup Type column header to sort. How many services are Automatic? ________________ Automatic (Delayed Start)? ________________ Manual (Trigger Start)? ________________ Disabled? ________________
- Look at the Log On As column. Write down three different accounts you see: ________________ , ________________ , ________________
Part 2: The Dependencies Tab
- Double-click Print Spooler again and open the Dependencies tab.
- In the top box (what it depends on), write down the items: ________________
- In the bottom box (what depends on it), write down the items: ________________
- Cancel. Now do the same for Remote Procedure Call (RPC). How long is the bottom box? ________________
You should find that RPC has a very long list of dependents. That is why it is vital.
Part 3: The Recovery Tab
- Open Print Spooler and click the Recovery tab.
- Write down:
- First failure: ________________
- Second failure: ________________
- Subsequent failures: ________________
- Reset fail count after: ________________ days
- Restart service after: ________________ minute(s)
- Press Cancel. Do not change anything.
Part 4: sc and PowerShell From the Command Line
In Command Prompt:
sc query Spooler
sc qc Spooler
sc qfailure Spooler
Fill in from the output:
- STATE: ________________
- TYPE (is it
WIN32_OWN_PROCESSorWIN32_SHARE_PROCESS?): ________________ - START_TYPE: ________________
- DEPENDENCIES: ________________
- SERVICE_START_NAME (the account): ________________
Now see all services that are running:
sc query type= service state= active
(The space after type= and state= is required.)
In PowerShell:
Get-Service | Group-Object Status | Select-Object Name, Count
Get-CimInstance Win32_Service -Filter "Name='Spooler'" | Select-Object Name, State, StartMode, StartName, PathName, ProcessId
Get-CimInstance Win32_Service | Group-Object StartName | Sort-Object Count -Descending | Select-Object Count, Name- How many services are Running? ________________ Stopped? ________________
- Which account (
StartName) has the most services? ________________ - What is the ProcessId of Print Spooler? ________________
Part 5: Who Hosts Whom? (svchost and Permissions)
5A. Services inside processes:
tasklist /svc /fi "imagename eq svchost.exe"
- How many
svchost.exelines are there? ________________ - Find one
svchost.exethat hosts more than one service. Write its PID and two of its services: ________________ - Run
tasklist /svc /fi "imagename eq spoolsv.exe". Which service is hosted byspoolsv.exe? ________________
5B. Task Manager. Open the Services tab (see Chapter 11). Find Spooler. Its PID should match your answer to question 12. Right-click a service and look at Go to details. Do not click Stop or Restart.
5C. The registry entry (read only). Open regedit, go to:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Spooler
Click the key and read the values on the right.
- ImagePath: ________________
- Start: ________________ (2 = Automatic, 3 = Manual, 4 = Disabled)
- ObjectName: ________________
Then look at ...\Services\Dnscache\Parameters and find ServiceDll.
- ServiceDll: ________________
Close regedit without touching anything. Never edit these values.
5D. Permissions:
sc sdshow Spooler
sc qsidtype Spooler
sc qprivs Spooler
- In the
sdshowoutput find(A;;...;;;BA). That line belongs to Administrators. Find the one forSY. Which letters belong to normal logged-on users (IU)? ________________
Part 6 (Optional): Event Log Review, Then a Safe Start/Stop Test
6A. Review events (read-only). In PowerShell:
Get-WinEvent -FilterHashtable @{LogName='System'; ProviderName='Service Control Manager'} -MaxEvents 15 | Select-Object TimeCreated, Id, Message- How many events are ID 7036? ________________ Do you see any 7000, 7001, 7009, 7031 or 7034 (failures)? ________________ If so, which service? ________________
In Event Viewer, go to Windows Logs → System → Filter Current Log, and choose Service Control Manager to see the same list with a window.
6B. Start/stop test (only if you feel confident). Use a harmless service. Print Spooler is a good choice only if you are not printing right now. You need an administrator PowerShell window (right-click, Run as administrator).
- First note the current state:
Get-Service Spooler. It should say Running. - Stop it:
Stop-Service Spooler - Check:
Get-Service Spooler(Status should be Stopped). - Restore it immediately:
Start-Service Spooler - Check again:
Get-Service Spoolermust say Running. - Look in the event log (command in 6A). You should see two new 7036 events: one for stopped, one for running.
If anything goes wrong: run
Start-Service Spooleragain, or restart the PC. Print Spooler's startup type is normally Automatic. Never leave a service stopped that you stopped for this lab.
Do not try this on RPC, Windows Defender, the Event Log, Windows Update, networking or security services.
What Should Happen
- Parts 1 to 3 show Print Spooler's name, path, startup type, dependencies and recovery plan as the same facts you saw in Sections 2 to 7.
- Part 4 shows the same information from the command line.
- Part 5 shows services sharing
svchost.exeprocesses and the permissions list. - Part 6 shows that the SCM logs every start and stop.
Interpretation Guide
| What you see | What it means |
|---|---|
| Startup Type: Automatic | Starts at boot (Section 3.1) |
| Manual (Trigger Start) | Starts when an event happens (Section 3.5) |
| Log On As: Local System | Highest-power account (Section 5.1) |
| Log On As: Local Service / Network Service | Reduced power (Sections 5.2 and 5.3) |
Type WIN32_SHARE_PROCESS | The service lives in a shared host such as svchost.exe (Section 9.2) |
Type WIN32_OWN_PROCESS | The service has its own .exe (Section 9.2) |
Many svchost.exe lines | Windows runs services in separate hosts to limit damage |
| Recovery: Restart the Service | A crash is fixed automatically (Section 7.2) |
| Event 7036 many times | Normal. Services start and stop all the time |
| Event 7034 / 7031 | A service crashed (Section 8.2) |
| Event 7045 you do not recognise | A new service was installed; check it was you or a program you trust |
Follow-Up Questions
- Which of the services you looked at shares a process with another, and which has its own? How do you know?
- Why can a normal user open the Services list but not stop most services? (Think of Section 6.)
- Print Spooler needs RPC. What would happen to Print Spooler if RPC stopped?
- Why does Windows restart a crashed service only after a delay?
- Name three facts from this lab that you could not have learned from Task Manager alone.