Get-Service

Ottiene i servizi nel computer.

Sintassi

Get-Service
   [[-Name] <String[]>]
   [-DependentServices]
   [-RequiredServices]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [<CommonParameters>]
Get-Service
   [-DependentServices]
   [-RequiredServices]
   -DisplayName <String[]>
   [-Include <String[]>]
   [-Exclude <String[]>]
   [<CommonParameters>]
Get-Service
   [-DependentServices]
   [-RequiredServices]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-InputObject <ServiceController[]>]
   [<CommonParameters>]

Descrizione

Questo cmdlet è disponibile solo nella piattaforma Windows.

Il Get-Service cmdlet ottiene oggetti che rappresentano i servizi in un computer, inclusi i servizi in esecuzione e arrestati. Per impostazione predefinita, quando Get-Service viene eseguito senza parametri, vengono restituiti tutti i servizi del computer locale.

È possibile indirizzare questo cmdlet per ottenere solo servizi specifici specificando il nome del servizio o il nome visualizzato dei servizi oppure è possibile inviare tramite pipe oggetti servizio a questo cmdlet.

Esempio

Esempio 1: Ottenere tutti i servizi nel computer

In questo esempio vengono visualizzati tutti i servizi nel computer. Si comporta come se si digitava Get-Service *. La visualizzazione predefinita mostra la stato, il nome servizio e il nome visualizzato di ogni servizio.

Get-Service

Esempio 2: Ottenere i servizi che iniziano con una stringa di ricerca

In questo esempio vengono recuperati i servizi con nomi di servizio che iniziano con WMI (Strumentazione gestione Windows).

Get-Service "wmi*"

Esempio 3: Visualizzare i servizi che includono una stringa di ricerca

In questo esempio vengono visualizzati i servizi con un nome visualizzato che include la parola network. La ricerca nel nome visualizzato trova servizi correlati alla rete anche quando il nome del servizio non include Net, ad esempio xmlprov, il servizio Network Provisioning.

Get-Service -Displayname "*network*"

Esempio 4: Ottenere i servizi che iniziano con una stringa di ricerca e un'esclusione

Questo esempio ottiene solo i servizi con nomi di servizio che iniziano con win, ad eccezione del servizio WinRM.

Get-Service -Name "win*" -Exclude "WinRM"

Esempio 5: Visualizzare i servizi attualmente attivi

In questo esempio vengono visualizzati solo i servizi con stato Running.

Get-Service | Where-Object {$_.Status -eq "Running"}

Get-Service ottiene tutti i servizi nel computer e invia gli oggetti nella pipeline. Il Where-Object cmdlet seleziona solo i servizi con una proprietà Status uguale Runninga .

Status è solo una proprietà di oggetti servizio. Per visualizzare tutte le proprietà, digitare Get-Service | Get-Member.

Esempio 6: Elencare i servizi nel computer con servizi dipendenti

Questo esempio ottiene i servizi con servizi dipendenti.

Get-Service |
  Where-Object {$_.DependentServices} |
    Format-List -Property Name, DependentServices, @{
      Label="NoOfDependentServices"; Expression={$_.dependentservices.count}
    }

Name                  : AudioEndpointBuilder
DependentServices     : {AudioSrv}
NoOfDependentServices : 1

Name                  : Dhcp
DependentServices     : {WinHttpAutoProxySvc}
NoOfDependentServices : 1
...

Il Get-Service cmdlet ottiene tutti i servizi nel computer e invia gli oggetti nella pipeline. Il Where-Object cmdlet seleziona i servizi la cui proprietà DependentServices non è Null.

I risultati vengono inviati alla pipeline al Format-List cmdlet . Il parametro Property visualizza il nome del servizio, il nome dei servizi dipendenti e una proprietà calcolata che visualizza il numero di servizi dipendenti per ogni servizio.

Esempio 7: Ordinare i servizi in base al valore della proprietà

Questo esempio mostra che quando si ordinano i servizi in ordine crescente in base al valore della relativa proprietà Status , i servizi arrestati vengono visualizzati prima di eseguire i servizi. Ciò si verifica perché il valore di Status è un'enumerazione, in cui Stopped ha un valore di 1e Running ha il valore 4. Per altre informazioni, vedere ServiceControllerStatus.

Per elencare prima i servizi in esecuzione, usare il parametro decrescente del Sort-Object cmdlet .

Get-Service "s*" | Sort-Object status

Status   Name               DisplayName
------   ----               -----------
Stopped  stisvc             Windows Image Acquisition (WIA)
Stopped  SwPrv              MS Software Shadow Copy Provider
Stopped  SysmonLog          Performance Logs and Alerts
Running  Spooler            Print Spooler
Running  srservice          System Restore Service
Running  SSDPSRV            SSDP Discovery Service
Running  ShellHWDetection   Shell Hardware Detection
Running  Schedule           Task Scheduler
Running  SCardSvr           Smart Card
Running  SamSs              Security Accounts Manager
Running  SharedAccess       Windows Firewall/Internet Connectio...
Running  SENS               System Event Notification
Running  seclogon           Secondary Logon

Esempio 8: Ottenere i servizi dipendenti di un servizio

Questo esempio ottiene i servizi richiesti dal servizio WinRM. Viene restituito il valore della proprietà ServicesDependedOn del servizio.

Get-Service "WinRM" -RequiredServices

Esempio 9: Ottenere un servizio tramite l'operatore pipeline

Questo esempio ottiene il servizio WinRM nel computer locale. La stringa del nome del servizio, racchiusa tra virgolette, viene inviata alla pipeline a Get-Service.

"WinRM" | Get-Service

Parametri

-DependentServices

Indica che questo cmdlet ottiene solo i servizi che dipendono dal servizio specificato.

Type:SwitchParameter
Aliases:DS
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisplayName

Specifica, come matrice di stringhe, i nomi visualizzati dei servizi da recuperare. I caratteri jolly sono consentiti.

Type:String[]
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:True

-Exclude

Specifica, come matrice di stringhe, un servizio o servizi che questo cmdlet esclude dall'operazione. Il valore di questo parametro qualifica il parametro Name . Immettere un elemento o un criterio name, ad esempio s*. I caratteri jolly sono consentiti.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Include

Specifica, come matrice di stringhe, un servizio o servizi inclusi nel cmdlet nell'operazione. Il valore di questo parametro qualifica il parametro Name . Immettere un elemento o un criterio name, ad esempio s*. I caratteri jolly sono consentiti.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-InputObject

Specifica gli oggetti ServiceController che rappresentano i servizi da recuperare. Immettere una variabile che contiene gli oggetti oppure digitare un comando o un'espressione che ottiene gli oggetti. È possibile inviare tramite pipe un oggetto servizio a questo cmdlet.

Type:ServiceController[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Name

Specifica i nomi di servizio dei servizi da recuperare. I caratteri jolly sono consentiti.

Type:String[]
Aliases:ServiceName
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:True

-RequiredServices

Indica che questo cmdlet ottiene solo i servizi richiesti da questo servizio. Questo parametro ottiene il valore della proprietà ServicesDependedOn del servizio.

Type:SwitchParameter
Aliases:SDO, ServicesDependedOn
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:True

Input

ServiceController

È possibile inviare tramite pipe un oggetto servizio a questo cmdlet.

String

È possibile inviare tramite pipe un nome di servizio a questo cmdlet.

Output

ServiceController

Questo cmdlet restituisce oggetti che rappresentano i servizi nel computer.

Note

PowerShell include gli alias seguenti per Get-Service:

  • Windows:
    • gsv

Questo cmdlet è disponibile solo nelle piattaforme Windows.

A partire da PowerShell 6.0, le proprietà seguenti vengono aggiunte agli oggetti ServiceController : UserName, Description, DelayedAutoStart, BinaryPathName e StartupType .

Questo cmdlet può visualizzare i servizi solo quando l'utente corrente dispone dell'autorizzazione per visualizzarli. Se questo cmdlet non visualizza i servizi, potrebbe non essere disponibile l'autorizzazione per visualizzarli.

Per trovare il nome del servizio e il nome visualizzato di ogni servizio nel sistema, digitare Get-Service. I nomi dei servizi vengono visualizzati nella colonna Nome e i nomi visualizzati vengono visualizzati nella colonna DisplayName .

Nota

In genere, Get-Service restituisce informazioni sui servizi e non sul driver. Tuttavia, se si specifica il nome di un driver, Get-Service restituisce informazioni sul driver.

  • L'enumerazione non include i servizi driver di dispositivo
  • Quando si specifica un carattere jolly, il cmdlet restituisce solo i servizi di Windows
  • Se si specifica il Nome o DisplayName che corrisponde esattamente a un nome del servizio del dispositivo, viene restituita l'istanza del dispositivo

Quando si ordina in ordine crescente in base al valore di stato, Stopped i servizi vengono visualizzati prima Running dei servizi. La proprietà Status di un servizio è un valore enumerato in cui i nomi degli stati rappresentano valori interi. L'ordinamento si basa suol valore intero, non sul nome. Runningviene visualizzato prima Stopped perché Stopped ha un valore di 1e Running ha un valore .4 Per altre informazioni, vedere ServiceControllerStatus.