Wiki di Michele

Servizi

GuidaUltima modifica: 24/10/2026 Verificata il 24/10/2026

Gestione dei servizi di Windows. Per modificare servizi serve una console avviata come amministratore.

Get-Service

Get-Service
Get-Service -Name Spooler
Get-Service -DisplayName "*stampa*"
Get-Service | Where-Object Status -eq Running
Get-Service | Where-Object { $_.StartType -eq 'Automatic' -and $_.Status -ne 'Running' }
Get-Service -Name Spooler | Select-Object *
Get-Service -ComputerName SERVER01 -Name Spooler

Proprietà principali: Name, DisplayName, Status (Running, Stopped, Paused), StartType (Automatic, Manual, Disabled), DependentServices, ServicesDependedOn.

Avviare, fermare, riavviare

Start-Service Spooler
Stop-Service Spooler
Stop-Service Spooler -Force
Restart-Service Spooler
Suspend-Service Spooler
Resume-Service Spooler

-Force è necessario se il servizio ha servizi dipendenti.

Tipo di avvio

Set-Service -Name Spooler -StartupType Automatic
Set-Service -Name Spooler -StartupType Manual
Set-Service -Name Spooler -StartupType Disabled
Set-Service -Name Spooler -StartupType Automatic -Status Running
Set-Service -Name Spooler -Description "Nuova descrizione"

In Windows PowerShell 5.1 il valore AutomaticDelayedStart non è disponibile in -StartupType: usa sc.exe config nome start= delayed-auto.

Dipendenze

Get-Service Spooler -DependentServices
Get-Service Spooler -RequiredServices

Creare ed eliminare

New-Service -Name "MioServizio" -BinaryPathName "C:\App\servizio.exe" -DisplayName "Mio Servizio" -StartupType Automatic -Description "Descrizione"
Remove-Service -Name "MioServizio"

Remove-Service esiste da PowerShell 6. In Windows PowerShell 5.1: sc.exe delete MioServizio.

Servizio in errore: indagare

Get-Service MioServizio
Get-WinEvent -FilterHashtable @{LogName='System'; ProviderName='Service Control Manager'} -MaxEvents 20
Get-CimInstance Win32_Service -Filter "Name='MioServizio'" | Select-Object Name, State, StartName, PathName, ExitCode

StartName indica l'account con cui gira il servizio; PathName l'eseguibile.

Servizi su più computer

Get-Service -ComputerName PC01, PC02 -Name Spooler
Invoke-Command -ComputerName PC01, PC02 -ScriptBlock { Restart-Service Spooler }

Aspettare lo stato

(Get-Service Spooler).WaitForStatus('Running', '00:00:30')

Alternative classiche

sc.exe query spooler
net start

In PowerShell sc è un alias di Set-Content: per lo strumento classico serve sc.exe.

Tag

comandipowershellwindows

Altre pubblicazioni in questa sezione

Suggerisci una correzione