Get-Service
Ottiene i servizi in un computer locale o remoto.
Sintassi
Get-Service
[[-Name] <String[]>]
[-ComputerName <String[]>]
[-DependentServices]
[-RequiredServices]
[-Include <String[]>]
[-Exclude <String[]>]
[<CommonParameters>]
Get-Service
[-ComputerName <String[]>]
[-DependentServices]
[-RequiredServices]
-DisplayName <String[]>
[-Include <String[]>]
[-Exclude <String[]>]
[<CommonParameters>]
Get-Service
[-ComputerName <String[]>]
[-DependentServices]
[-RequiredServices]
[-Include <String[]>]
[-Exclude <String[]>]
[-InputObject <ServiceController[]>]
[<CommonParameters>]
Descrizione
Il Get-Service
cmdlet 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 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 Running
a .
Status è solo una proprietà di oggetti 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 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 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 di 1
e 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 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 Get-Service
cmdlet per eseguire un Get-Service Winrm
comando 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 Format-Table
cmdlet , che formatta i servizi come tabella. Il Format-Table
comando usa il parametro Property 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. Viene restituito il valore della proprietà ServicesDependedOn del servizio.
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 inviata alla pipeline a Get-Service
.
"WinRM" | Get-Service
Parametri
-ComputerName
Ottiene i servizi in esecuzione nel computer specificato. 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.
Tipo: | String[] |
Alias: | Cn |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-DependentServices
Indica che questo cmdlet ottiene solo i servizi che dipendono dal servizio specificato.
Tipo: | SwitchParameter |
Alias: | DS |
Posizione: | Named |
Valore predefinito: | False |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-DisplayName
Specifica, come matrice di stringhe, i nomi visualizzati dei servizi da recuperare. I caratteri jolly sono consentiti.
Tipo: | String[] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | 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.
Tipo: | String[] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | 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.
Tipo: | String[] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | 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.
Tipo: | ServiceController[] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-Name
Specifica i nomi di servizio dei servizi da recuperare. I caratteri jolly sono consentiti.
Tipo: | String[] |
Alias: | ServiceName |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | True |
-RequiredServices
Indica che questo cmdlet ottiene solo i servizi richiesti da questo servizio. Questo parametro ottiene il valore della proprietà ServicesDependedOn del servizio.
Tipo: | SwitchParameter |
Alias: | SDO, ServicesDependedOn |
Posizione: | Named |
Valore predefinito: | False |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | True |
Input
È possibile inviare tramite pipe un oggetto servizio a questo cmdlet.
È possibile inviare tramite pipe un nome di servizio a questo cmdlet.
Output
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 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. Running
viene visualizzato prima Stopped
perché Stopped
ha un valore di 1
e Running
ha un valore .4
Per altre informazioni, vedere ServiceControllerStatus.