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 gli oggetti che rappresentano i servizi in un computer locale o in un computer remoto, inclusi i servizi in esecuzione e arrestati.
È 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
Get-Service
Questo comando ottiene tutti i servizi sul 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.
Esempio 2: Ottenere i servizi che iniziano con una stringa di ricerca
Get-Service "wmi*"
Questo comando recupera i servizi con nomi di servizio che iniziano con WMI (acronimo di Strumentazione gestione Windows).
Esempio 3: Visualizzare i servizi che includono una stringa di ricerca
Get-Service -Displayname "*network*"
Questo comando visualizza i servizi con un nome visualizzato che include la parola rete. La ricerca del nome visualizzato consente di trovare servizi correlati alla rete anche quando il nome del servizio non include "Net", ad esempio xmlprov, il servizio di provisioning della rete.
Esempio 4: Ottenere i servizi che iniziano con una stringa di ricerca e un'esclusione
Get-Service -Name "win*" -Exclude "WinRM"
Questi comandi ottengono solo i servizi con nomi di servizio che iniziano con win, ad eccezione del servizio WinRM.
Esempio 5: Visualizzare i servizi attualmente attivi
Get-Service | Where-Object {$_.Status -eq "Running"}
Questo comando visualizza solo i servizi attualmente attivi. Utilizza il cmdlet Get-Service per ottenere tutti i servizi nel computer. L'operatore della pipeline (|) passa i risultati al cmdlet Where-Object, che 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 utilizza la comunicazione remota di Windows PowerShell, è possibile utilizzare 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
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 primo comando usa il cmdlet Get-Service per ottenere i servizi nel computer. Un operatore pipeline (|) invia i servizi al cmdlet Where-Object , che seleziona i servizi la cui proprietà DependentServices non è null.
Un altro operatore della pipeline invia i risultati al cmdlet Format-List. Il comando utilizza il parametro Property per visualizzare il nome del servizio, il nome dei servizi dipendenti e una proprietà calcolata che visualizza il numero di servizi dipendenti di ogni servizio.
Esempio 8: Ordinare i servizi in base al valore della proprietà
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
Questo comando mostra che quando si ordinano i servizi in ordine crescente in base al valore della relativa proprietà Status , i servizi arrestati vengono visualizzati prima dell'esecuzione dei servizi. Ciò si verifica perché il valore di Status è un'enumerazione, in cui Stopped ha un valore di 1 e Running ha un valore di 4.
Per elencare prima i servizi in esecuzione, utilizzare il parametro Descending del cmdlet Sort-Object.
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 utilizza il cmdlet Get-Service per eseguire un comando Winrm Get-Service 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 utilizza il parametro Property per specificare le proprietà visualizzate nella tabella, inclusa la proprietà MachineName .
Esempio 10: Ottenere i servizi dipendenti di un servizio
Get-Service "WinRM" -RequiredServices
Questo comando ottiene i servizi richiesti dal servizio WinRM.
Il comando restituisce il valore della proprietà ServicesDependedOn del servizio.
Esempio 11: Ottenere un servizio tramite l'operatore pipeline
"WinRM" | Get-Service
Questo comando ottiene il servizio Gestione remota Windows nel computer locale. In questo esempio viene illustrato che è possibile reindirizzare una stringa del nome del servizio (racchiusa tra virgolette) a 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 l'esecuzione di 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.
Per impostazione predefinita, questo cmdlet ottiene tutti i servizi.
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | None |
| 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. Per impostazione predefinita, questo cmdlet ottiene tutti i servizi nel computer.
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 criterio 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 criterio 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 . È inoltre possibile reindirizzare 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. Per impostazione predefinita, questo cmdlet ottiene tutti i servizi nel computer.
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. Per impostazione predefinita, questo cmdlet ottiene tutti i servizi.
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | None |
| 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
System.ServiceProcess.ServiceController, System.String
È possibile reindirizzare un oggetto servizio o un nome di servizio a questo cmdlet.
Output
ServiceController
Questo cmdlet restituisce oggetti che rappresentano i servizi nel computer.
Note
È anche possibile fare riferimento a Get-Service tramite l'alias predefinito, "gsv". Per altre informazioni, vedere about_Aliases.
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.
Quando si ordina in ordine crescente in base al valore di stato, i servizi "Arrestati" vengono visualizzati prima dei servizi "In esecuzione". La proprietà Status 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 "1" e "Running" ha un valore di "4".