Bird
Raised Fist0
PowerShellscripting~5 mins

Service management (Get/Start/Stop-Service) in PowerShell - Cheat Sheet & Quick Revision

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What does the <code>Get-Service</code> cmdlet do in PowerShell?
It lists all the services on your computer or shows details about a specific service if you provide its name.
Click to reveal answer
beginner
How do you start a service named 'Spooler' using PowerShell?
Use the command Start-Service -Name Spooler to start the 'Spooler' service.
Click to reveal answer
intermediate
What happens if you try to stop a service that is already stopped using Stop-Service?
PowerShell will not throw an error; it simply ensures the service is stopped. If the service is already stopped, nothing changes.
Click to reveal answer
beginner
How can you check the status of a service called 'wuauserv'?
Run Get-Service -Name wuauserv. It shows if the service is Running, Stopped, or Paused.
Click to reveal answer
intermediate
Can you start or stop multiple services at once using PowerShell? How?
Yes, by passing an array of service names to Start-Service or Stop-Service, like Start-Service -Name 'Spooler','wuauserv'.
Click to reveal answer
Which PowerShell cmdlet lists all services on your computer?
AStop-Service
BStart-Service
CGet-Service
DRestart-Service
What does Start-Service -Name 'Spooler' do?
AStarts the Spooler service
BGets the status of the Spooler service
CRestarts the Spooler service
DStops the Spooler service
If you want to stop a service, which cmdlet should you use?
AStop-Service
BGet-Service
CStart-Service
DEnable-Service
How do you check if a service is running or stopped?
AUse <code>Restart-Service</code>
BUse <code>Start-Service</code>
CUse <code>Stop-Service</code>
DUse <code>Get-Service</code>
Can you start multiple services at once in PowerShell?
ANo, only one service at a time
BYes, by listing service names in an array
CYes, but only with <code>Get-Service</code>
DNo, you must use a loop
Explain how to check the status of a service and then start it if it is stopped using PowerShell.
Think about first seeing if the service is stopped, then starting it.
You got /4 concepts.
    Describe how you would stop multiple services at once using PowerShell commands.
    Consider how to pass more than one service name to the cmdlet.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the PowerShell command Get-Service do?
      easy
      A. It shows the status of services on the computer.
      B. It starts a stopped service.
      C. It stops a running service.
      D. It deletes a service from the system.

      Solution

      1. Step 1: Understand the purpose of Get-Service

        The Get-Service command lists services and their current status (running or stopped).
      2. Step 2: Compare with other commands

        Start-Service and Stop-Service change service states, but Get-Service only shows status.
      3. Final Answer:

        It shows the status of services on the computer. -> Option A
      4. Quick Check:

        Get-Service = Show service status [OK]
      Hint: Get-Service always lists service status, not start or stop [OK]
      Common Mistakes:
      • Confusing Get-Service with Start-Service
      • Thinking Get-Service stops services
      • Assuming Get-Service deletes services
      2. Which of the following is the correct syntax to start a service named 'Spooler' in PowerShell?
      easy
      A. Start-Service -Name Spooler
      B. Get-Service -Start Spooler
      C. Stop-Service -Name Spooler
      D. Start-Service Spooler -Force

      Solution

      1. Step 1: Identify the correct cmdlet for starting a service

        Start-Service is used to start services, and it accepts the -Name parameter to specify the service.
      2. Step 2: Check the syntax correctness

        Start-Service -Name Spooler is the correct syntax. Get-Service -Start Spooler uses wrong cmdlet and parameter, Stop-Service -Name Spooler stops service, and Start-Service Spooler -Force uses an invalid parameter -Force.
      3. Final Answer:

        Start-Service -Name Spooler -> Option A
      4. Quick Check:

        Start-Service -Name ServiceName = Start service [OK]
      Hint: Use Start-Service with -Name to start a service [OK]
      Common Mistakes:
      • Using Get-Service to start a service
      • Using Stop-Service instead of Start-Service
      • Adding invalid parameters like -Force
      3. What will be the output of this PowerShell command?
      Get-Service -Name W32Time | Select-Object -Property Status
      medium
      A. Starts the W32Time service.
      B. Displays the status (Running or Stopped) of the W32Time service.
      C. Stops the W32Time service.
      D. Shows an error because Select-Object cannot be used here.

      Solution

      1. Step 1: Understand Get-Service with Select-Object

        Get-Service -Name W32Time fetches the service object, and piping it to Select-Object -Property Status extracts only the status property.
      2. Step 2: Determine the output

        The output will be a simple display showing the status of the W32Time service, such as Running or Stopped.
      3. Final Answer:

        Displays the status (Running or Stopped) of the W32Time service. -> Option B
      4. Quick Check:

        Get-Service + Select-Object = Show service status [OK]
      Hint: Get-Service piped to Select-Object shows specific properties [OK]
      Common Mistakes:
      • Thinking it starts or stops the service
      • Believing Select-Object causes an error here
      • Confusing service name with command parameters
      4. You run this command to stop the 'Spooler' service:
      Stop-Service Spooler

      But it fails with an error. What is the likely cause?
      medium
      A. You need to specify the parameter name: -Name before the service name.
      B. The service is already stopped, so Stop-Service cannot run.
      C. Stop-Service cannot stop the Spooler service.
      D. You must run PowerShell as Administrator to stop services.

      Solution

      1. Step 1: Check command syntax

        Stop-Service Spooler is valid because the parameter -Name is positional and can be omitted.
      2. Step 2: Consider permissions

        Stopping services usually requires administrator rights. Without running PowerShell as admin, the command fails with an error.
      3. Final Answer:

        You must run PowerShell as Administrator to stop services. -> Option D
      4. Quick Check:

        Stopping services needs admin rights [OK]
      Hint: Run PowerShell as admin to stop services [OK]
      Common Mistakes:
      • Thinking -Name parameter is mandatory
      • Assuming service must be running to stop
      • Believing Spooler service cannot be stopped
      5. You want to write a script that checks if the 'W32Time' service is stopped, and if so, starts it. Which script snippet correctly does this?
      hard
      A.
      Start-Service -Name W32Time -IfStopped
      B.
      if (Get-Service W32Time -Status 'Stopped') { Start-Service W32Time }
      C.
      $svc = Get-Service -Name W32Time
      if ($svc.Status -eq 'Stopped') { Start-Service -Name W32Time }
      D.
      $svc = Get-Service W32Time
      if ($svc.Status = 'Stopped') { Start-Service W32Time }

      Solution

      1. Step 1: Retrieve the service object and check status

        Using $svc = Get-Service -Name W32Time stores the service object. Then $svc.Status -eq 'Stopped' correctly compares the status.
      2. Step 2: Start the service if stopped

        If the status is 'Stopped', Start-Service -Name W32Time starts the service.
      3. Final Answer:

        $svc = Get-Service -Name W32Time if ($svc.Status -eq 'Stopped') { Start-Service -Name W32Time } -> Option C
      4. Quick Check:

        Check status with -eq, then start service [OK]
      Hint: Use -eq to compare status, then Start-Service if stopped [OK]
      Common Mistakes:
      • Using single = instead of -eq for comparison
      • Assuming Start-Service has -IfStopped parameter
      • Trying to filter Get-Service with -Status parameter