Restart Service Safely

Safely restarts a Windows service with dependency handling.

intermediateSystem Administrationservicesrestartdependencies
restart-service-safely.ps1
1param(
2 [Parameter(Mandatory=$true)]
3 [string]$ServiceName,
4 [int]$TimeoutSeconds = 30
5)
6
7$service = Get-Service -Name $ServiceName -ErrorAction Stop
8$dependentServices = Get-Service -DependentServices $service.Name | Where-Object { $_.Status -eq "Running" }
9
10Write-Host "Stopping dependent services..."
11$dependentServices | Stop-Service -Force -PassThru
12
13Write-Host "Restarting $ServiceName..."
14Restart-Service -Name $ServiceName -Force -PassThru
15
16Start-Sleep -Seconds 5
17
18Write-Host "Starting dependent services..."
19$dependentServices | Start-Service -PassThru
20
21Get-Service -Name $ServiceName | Select-Object Name, Status
Quick Actions
Parameters
  • $ServiceName(string)Required

    Name of the service to restart

  • $TimeoutSeconds(number)

    Timeout in seconds

    Default: 30

Use Cases
  • Use when you need to restart a critical service without breaking dependent services.
Details
CategorySystem Administration
Complexityintermediate
Added3/13/2026