Windows Server · Lesson 10

Roles, Features & Required Services

Connect Windows Server roles to the services and dependencies that keep them working so you can harden the system without disabling critical infrastructure.

The right question is not "Can I disable this service?" The right question is "What depends on it, what does it depend on, and how will I prove the required function still works?"

Lesson Snapshot

Core concepts6
Classification4 categories
Primary consoleservices.msc
GoalHarden + preserve roles

Learning objectives

What this lesson should help you do

01

Explain the difference between Windows Server roles, role services, features, and Windows services.

02

Map required server roles to the services and dependencies that keep them functional.

03

Use Server Manager, Services, PowerShell, and Event Viewer to inspect dependencies before changing anything.

04

Classify unfamiliar services as required, unnecessary, misconfigured, or investigate instead of disabling them blindly.

05

Recognize how startup type, service account, executable path, and dependencies affect service risk.

06

Verify required server functions after any service, role, or feature change.

Core concepts

Know what kind of component you are changing

Server role

A major responsibility such as Active Directory Domain Services, DNS Server, DHCP Server, File and Storage Services, or Web Server.

Role service

A smaller capability inside a server role. One role can contain multiple role services with different security and availability impact.

Feature

A Windows capability that supports the operating system, administration, applications, or one or more server roles.

Windows service

A background process that may support Windows itself, a server role, a feature, or an installed application.

Dependency

Another service, role, protocol, account, file, network path, or component that must work for the target function to work.

Startup type

Controls how a Windows service starts, such as Automatic, Automatic (Delayed Start), Manual, or Disabled.

Core idea

Services are part of a dependency graph

A service may support another service, a server role, an application, a share, authentication, or remote administration.

High-impact warning

Never run a blanket "disable unnecessary services" script

Windows Server roles and applications often rely on services that may look unfamiliar to someone who normally uses workstations.

Investigate first, change narrowly, and verify the required role afterward.

Tool map

Exactly where to inspect roles and services

Server Manager

Start → Server Manager → Dashboard / Local Server / role-specific pages

Use to identify installed roles, features, server health, and role-specific management tools.

Installed roles and features

Server Manager → Manage → Add Roles and Features

Use the wizard as an inventory view. Do not install or remove components simply to explore.

Services

Win + R → services.msc

Review service name, display name, status, startup type, logon account, and Dependencies tab.

Service properties

services.msc → double-click the service → General / Log On / Recovery / Dependencies

Provides the most useful GUI view for understanding what the service does and what depends on it.

Event Viewer

Win + R → eventvwr.msc → Windows Logs → System

Look for Service Control Manager and role-specific failures before and after a service change.

PowerShell

Start → search PowerShell → Run as administrator when required

Use Get-Service, Get-CimInstance Win32_Service, Get-WindowsFeature, and role-specific cmdlets for inspection.

Service properties

Eight properties to review before changing a service

Service name

The internal name used by commands and Windows. It may differ from the friendly display name.

Display name

The human-readable label shown in the Services console.

Status

Shows whether the service is Running, Stopped, Start Pending, Stop Pending, or another state.

Startup type

Shows whether Windows starts the service automatically, on demand, or not at all.

Log on as

Identifies the service account. Named accounts can create important password and privilege dependencies.

Path to executable

Shows which binary or command the service launches. Unusual paths deserve investigation.

Dependencies

Shows services this service requires and services that depend on it.

Recovery

Controls what Windows may do after a service failure, such as restart the service.

Role dependency map

Required roles depend on more than one service

Active Directory Domain Services

Domain authentication and directory services.

Dependencies

Directory-related services, DNS, networking, time consistency, SYSVOL/NETLOGON functionality, and domain-controller health.

Risk

Disabling an unfamiliar service on a domain controller can disrupt logon, replication, policy, or directory operations.

Verify

Confirm authorized domain logon and review directory/DNS health.

DNS Server

Name resolution for clients and possibly Active Directory.

Dependencies

DNS Server service, zones, records, networking, firewall rules, and correct interface configuration.

Risk

The server may appear healthy locally while every client loses name resolution.

Verify

Resolve required names from an authorized client.

DHCP Server

IP address and network-option assignment.

Dependencies

DHCP Server service, scopes, authorization when applicable, networking, and firewall access.

Risk

Stopping DHCP can prevent new or renewing clients from obtaining valid network configuration.

Verify

Renew a lease from an authorized client.

File and Storage Services

SMB shares and required file access.

Dependencies

Server service, SMB, storage, share permissions, NTFS permissions, user/group identity, and firewall rules.

Risk

A service change can break all required shares even when the files remain on disk.

Verify

Open required shares from an authorized client.

Web Server (IIS)

Required websites or web applications.

Dependencies

World Wide Web Publishing Service, Windows Process Activation Service, application pools, bindings, certificates, networking, and application files.

Risk

Stopping the wrong service can make the entire site unavailable.

Verify

Load the required site or application from an authorized client.

Remote Administration

RDP, WinRM, or another authorized management path.

Dependencies

Services, firewall rules, user rights, authentication, network reachability, and authorized accounts.

Risk

A single service or firewall change can lock the team out.

Verify

Reconnect using the required management path.

Classification

Required, Unnecessary, Misconfigured, or Investigate

Required

The service clearly supports a scenario-required role, application, management path, or operating-system function.

Protect it, document it, and verify it after related hardening.

Unnecessary

Evidence shows the service or feature is not required and no required dependency relies on it.

Consider stopping, disabling, or removing it only after documenting the verification plan.

Misconfigured

The service is required but its startup type, account, path, permissions, recovery behavior, or exposure is wrong.

Correct the specific misconfiguration instead of removing the service.

Investigate

The purpose, vendor, dependency, or authorization is unclear.

Inspect the executable, account, dependencies, events, installed software, and scenario before changing it.

PowerShell inspection

Inspect roles, services, and dependencies

Installed roles and features

Get-WindowsFeature | Where-Object {$_.Installed -eq $true} | Select-Object DisplayName, Name, InstallState

Shows which Windows Server roles and features are currently installed.

Service state

Get-Service | Sort-Object Status, DisplayName | Select-Object Status, Name, DisplayName

Provides a quick inventory of running and stopped services.

Detailed service inventory

Get-CimInstance Win32_Service | Select-Object Name, DisplayName, State, StartMode, StartName, PathName

Adds startup mode, service account, and executable-path context.

One service in detail

Get-CimInstance Win32_Service | Where-Object {$_.Name -eq 'ServiceName'} | Format-List *

Shows detailed configuration for one service. Replace ServiceName with the internal service name.

Dependent services

Get-Service -Name "ServiceName" -DependentServices

Shows services that depend on the selected service.

Required services

Get-Service -Name "ServiceName" -RequiredServices

Shows services the selected service depends on.

Recent Service Control Manager events

Get-WinEvent -FilterHashtable @{LogName='System'; ProviderName='Service Control Manager'} -MaxEvents 40 | Select-Object TimeCreated, Id, LevelDisplayName, Message

Reviews recent service start, stop, timeout, and failure evidence.

Suspicious signals

What deserves deeper investigation

Unusual executable path

A service launching from a user profile, temporary folder, downloads directory, or other unexpected location deserves investigation.

Unknown vendor

Unknown does not automatically mean malicious, but the service should be tied to a known application, role, or vendor.

Named privileged account

A service running as a named administrator or Domain Admin may have more privilege than necessary.

Automatic startup with unclear purpose

Persistent automatic services should have an understood reason for starting at boot.

Repeated failures

Service Control Manager errors can show misconfiguration, missing dependencies, credential problems, or broken applications.

Unexpected network exposure

A service listening on the network when the scenario does not require remote access should be investigated with firewall and application context.

Dependency questions

Ten questions before stopping or disabling a service

01

Which role or application uses this service?

02

Which services does it depend on?

03

Which services depend on it?

04

Which account does it run as?

05

Does the account have excessive privilege?

06

What executable path does it use?

07

Does the service listen on the network?

08

Is a firewall rule tied to the service?

09

What happens to the required server function if the service stops?

10

How will you verify the required function after changing it?

Startup reasoning

Startup type is not a simple secure/insecure label

Automatic

Starts during boot and is appropriate for many core or continuously required services.

Automatic (Delayed Start)

Starts automatically but later in the boot process, often to reduce startup contention.

Manual

Starts when Windows, an application, a trigger, or an administrator requests it.

Disabled

Cannot start until the startup type is changed. Use only when you know the service is not required.

Trigger-start behavior

Some services appear Manual but start automatically when Windows detects a specific trigger or demand.

Controlled service changes

Make only justified, reversible changes

Stop a confirmed unnecessary service

Change

Stop-Service -Name "ExampleService"

Use only after dependency review confirms the service is unnecessary and no required role depends on it.

Verify

Get-Service -Name "ExampleService"

Disable a confirmed unnecessary service

Change

Set-Service -Name "ExampleService" -StartupType Disabled

Do not use this as a blanket hardening technique. Apply only to a confirmed unnecessary service.

Verify

Get-CimInstance Win32_Service | Where-Object {$_.Name -eq 'ExampleService'} | Select-Object Name, State, StartMode

Restore a required service to automatic startup

Change

Set-Service -Name "ExampleService" -StartupType Automatic

Use when the scenario or known role dependency requires the service to start automatically.

Verify

Get-Service -Name "ExampleService"

Troubleshooting

When services fail or behave unexpectedly

Symptom

A required role stops working after a service change.

Check

Restore the documented original state if appropriate, review the service's Dependencies tab, check required/dependent services, inspect System and role-specific logs, then test the role from a client.

Symptom

A service will not start.

Check

Check its startup type, service account credentials, dependencies, executable path, permissions, and Service Control Manager events.

Symptom

The service starts and immediately stops.

Check

Some services are demand-based, but repeated failure may indicate a broken dependency or application. Review events and the application/role context.

Symptom

A service account password changed and the service now fails.

Check

Update the service Log On credentials if authorized, confirm the account is enabled and permitted to run the service, then verify the application.

Symptom

The service keeps returning after being disabled.

Check

A role, application, Group Policy, scheduled task, repair process, or management platform may be restoring it. Identify the owner before repeating the change.

Symptom

An unknown service is listening on the network.

Check

Identify the executable, publisher, installed application, service account, listening port, firewall rule, and scenario purpose before disabling it.

Decision cases

Service decisions in server context

Unknown automatic service on a domain controller

The service name is unfamiliar and starts automatically under LocalSystem.

Domain controllers contain specialized services that students may not recognize. Unfamiliarity is not enough evidence to disable it.

Response

Inspect the executable path, description, dependencies, Server Manager roles, installed software, and Service Control Manager events before classifying it.

Required service is set to Disabled

The scenario requires DNS, but the DNS Server service cannot start because its startup configuration was changed.

This is a misconfiguration of a required role, not an unnecessary service.

Response

Restore the appropriate service configuration, start the service if justified, then verify DNS from an authorized client.

Third-party application service runs as Domain Admin

The application is required, but its service account has domain-wide privilege.

The service may be necessary while the account privilege is excessive.

Response

Preserve the service, document the dependency, determine the minimum rights needed, and reduce privilege only after controlled testing.

File-service component looks unnecessary

A student wants to disable the Server service because the name appears generic.

The Server service is closely tied to SMB file sharing, which may be a required server role.

Response

Check required shares and dependencies first. Do not disable a core service based on its name alone.

Fictional defensive lab

Review services on FILE-SRV

Step 01

Identify the fictional role

FILE-SRV must provide the TeamDocs SMB share and allow Morgan to administer it through RDP.

Step 02

Inventory installed roles and services

Use Server Manager and Get-WindowsFeature, then compare required roles with running services.

Step 03

Inspect three services

Review the Server service, Remote Desktop Services, and one unfamiliar third-party service using services.msc and PowerShell.

Step 04

Map dependencies

Check startup type, logon account, executable path, required services, dependent services, and relevant firewall rules.

Step 05

Classify

Mark the SMB and RDP services Required. Mark the third-party service Investigate until its application purpose is confirmed.

Step 06

Verify

After any authorized change, confirm TeamDocs still opens from a client, Morgan can still use RDP, and no new service failures appear in Event Viewer.

Common mistakes

Service mistakes that can break the server

Disabling services by name alone

Generic or unfamiliar names can belong to essential Windows or role-specific services.

Changing startup type without checking dependencies

The service may support a required role even when it is not currently running.

Ignoring service accounts

Credential or privilege changes can break services even when the service configuration itself is unchanged.

Treating Manual as insecure

Many legitimate Windows services are designed to start on demand or by trigger.

Removing a role to stop one service

Role removal is much broader than a single-service change and can affect many dependencies.

Skipping client-side verification

A service can be Running while clients still cannot use the required role.

Reflection

Test your service reasoning

Question 1

Why is an unfamiliar service not automatically unnecessary?

Question 2

What is the difference between a server role and a Windows service?

Question 3

Why can a service configured as Manual still be legitimate?

Question 4

How can a service account create a hidden dependency?

Question 5

Why should you inspect both required services and dependent services?

Question 6

What should be verified after changing a service that supports SMB or remote administration?

Verification checklist

Confirm roles and services still work

01

Required roles are still installed.

02

Required services are running when they should be.

03

Service startup types match the intended server role.

04

Required service accounts still authenticate.

05

No unnecessary privileged service account remains without justification.

06

Required SMB, DNS, DHCP, web, or other role functions still work as applicable.

07

Required RDP or WinRM access still works.

08

No new Service Control Manager failures appeared after changes.

09

Role-specific Event Viewer logs show no new errors.

10

The final service changes are documented with original and final state.

Competition checklist

Before leaving role and service review

01

Open Server Manager and confirm required roles.

02

Open services.msc.

03

Review service name, display name, status, and startup type.

04

Review Log On account.

05

Review executable path.

06

Review Dependencies tab.

07

Use Get-Service and Win32_Service for inventory.

08

Check Service Control Manager events.

09

Classify services before changing them.

10

Avoid blanket service-disable scripts.

11

Verify required server roles from clients.

12

Document every service change.

Next Windows Server lesson

File Shares, NTFS & SMB Permissions

Next, learn how share permissions, NTFS permissions, ownership, inheritance, SMB exposure, and effective access combine on a Windows file server.

Open Lesson 11 →