intermediateSystem Administrationservicesrestartdependencies
restart-service-safely.ps1
1param(2 [Parameter(Mandatory=$true)]3 [string]$ServiceName,4 [int]$TimeoutSeconds = 305)67$service = Get-Service -Name $ServiceName -ErrorAction Stop8$dependentServices = Get-Service -DependentServices $service.Name | Where-Object { $_.Status -eq "Running" }910Write-Host "Stopping dependent services..."11$dependentServices | Stop-Service -Force -PassThru1213Write-Host "Restarting $ServiceName..."14Restart-Service -Name $ServiceName -Force -PassThru1516Start-Sleep -Seconds 51718Write-Host "Starting dependent services..."19$dependentServices | Start-Service -PassThru2021Get-Service -Name $ServiceName | Select-Object Name, Status