Condividi tramite


Get-Service

Ottiene i servizi in un computer locale o remoto.

Sintassi

Default (Impostazione predefinita)

Get-Service
    [[-Name] <String[]>]
    [-ComputerName <String[]>]
    [-DependentServices]
    [-RequiredServices]
    [-Include <String[]>]
    [-Exclude <String[]>]
    [<CommonParameters>]

DisplayName

Get-Service
    -DisplayName <String[]>
    [-ComputerName <String[]>]
    [-DependentServices]
    [-RequiredServices]
    [-Include <String[]>]
    [-Exclude <String[]>]
    [<CommonParameters>]

InputObject

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

Descrizione

Il cmdlet Get-Service ottiene oggetti che rappresentano i servizi in un computer locale o in un computer remoto, 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 digitasse Get-Service *. La visualizzazione predefinita mostra lo stato, il nome del 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. Cercare il nome visualizzato permette di trovare servizi correlati alla rete anche quando il nome del servizio non include Net, come xmlprov, ovvero il Servizio di Provisioning della Rete.

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 sul computer e invia gli oggetti lungo la pipeline. Il cmdlet Where-Object seleziona solo i servizi con una proprietà Status uguale a Running.

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

Esempio 6: Ottenere i servizi in un computer remoto

Get-Service -ComputerName "Server02"

Questo comando ottiene i servizi nel computer remoto Server02.

Poiché il parametro ComputerName di Get-Service non usa la comunicazione remota di Windows PowerShell, è possibile usare questo parametro anche se il computer non è configurato per la comunicazione remota in Windows PowerShell.

Esempio 7: Elencare i servizi nel computer locale con servizi dipendenti

Questo esempio ottiene servizi che hanno 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 cmdlet Get-Service ottiene tutti i servizi nel computer e invia gli oggetti nella pipeline. Il cmdlet Where-Object seleziona i servizi la cui proprietà DependentServices non è null.

I risultati vengono inviati alla pipeline al cmdlet Format-List. Il parametro proprietà 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 8: 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 1e Running ha un valore pari a 4. Per altre informazioni, vedere ServiceControllerStatus.

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

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 9: Ottenere servizi in più computer

Get-Service -Name "WinRM" -ComputerName "localhost", "Server01", "Server02" |
 Format-Table -Property MachineName, Status, Name, DisplayName -Auto
MachineName    Status  Name  DisplayName
------------   ------  ----  -----------
localhost      Running WinRM Windows Remote Management (WS-Management)
Server01       Running WinRM Windows Remote Management (WS-Management)
Server02       Running WinRM Windows Remote Management (WS-Management)

Questo comando usa il cmdlet Get-Service per eseguire un comando Get-Service Winrm in due computer remoti e nel computer locale (localhost).

Il comando viene eseguito nei computer remoti e i risultati vengono restituiti al computer locale. Un operatore pipeline (|) invia i risultati al cmdlet Format-Table, che formatta i servizi come tabella. Il comando Format-Table usa il parametro proprietà per specificare le proprietà visualizzate nella tabella, inclusa la proprietà MachineName.

Esempio 10: Ottenere i servizi dipendenti di un servizio

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

Get-Service "WinRM" -RequiredServices

Esempio 11: 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 trasmessa nella pipeline fino a Get-Service.

"WinRM" | Get-Service

Parametri

-ComputerName

Ottiene i servizi in esecuzione nei computer specificati. Il valore predefinito è il computer locale.

Digitare il nome NetBIOS, un indirizzo IP o un nome di dominio completo (FQDN) di un computer remoto. Per specificare il computer locale, digitare il nome del computer, un punto (.) o localhost.

Questo parametro non si basa sulla comunicazione remota di Windows PowerShell. È possibile utilizzare il parametro ComputerName di Get-Service anche se il computer non è configurato per eseguire comandi remoti.

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:CN

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-DependentServices

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

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False
Alias:DS

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-DisplayName

Specifica, come matrice di stringhe, i nomi visualizzati dei servizi da recuperare. Sono consentiti i metacaratteri.

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:True
DontShow:False

Set di parametri

DisplayName
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Exclude

Specifica, come matrice di stringhe, un servizio o servizi che questo cmdlet esclude dall'operazione. Il valore di questo parametro specifica il parametro Nome. Immettere un elemento o un modello di nome, ad esempio s*. Sono consentiti i metacaratteri.

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:True
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Include

Specifica, come matrice di stringhe, un servizio o servizi inclusi nel cmdlet nell'operazione. Il valore di questo parametro specifica il parametro Nome. Immettere un elemento o un modello di nome, ad esempio s*. Sono consentiti i metacaratteri.

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:True
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-InputObject

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

Proprietà dei parametri

Tipo:

ServiceController[]

Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

InputObject
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:True
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Name

Specifica i nomi dei servizi da recuperare. Sono consentiti i metacaratteri.

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:True
DontShow:False
Alias:Nome del servizio

Set di parametri

Default
Posizione:0
Obbligatorio:False
Valore dalla pipeline:True
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-RequiredServices

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

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:True
DontShow:False
Alias:SDO, ServicesDependedOn

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

CommonParameters

Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.

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

Windows PowerShell include gli alias seguenti per Get-Service:

  • gsv

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 appaiono nella colonna Nome e i nomi visualizzati appaiono nella colonna DisplayName.

Annotazioni

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 dei driver dei dispositivi
  • 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, i servizi Stopped vengono visualizzati prima di Running servizi. La proprietà stato di un servizio è un valore enumerato in cui i nomi degli stati rappresentano valori interi. L'ordinamento è basato sul valore intero, non sul nome. Running viene visualizzato prima di Stopped perché Stopped ha un valore di 1e Running ha un valore pari a 4. Per altre informazioni, vedere ServiceControllerStatus.