Ottiene i servizi in un computer locale o remoto.
Sintassi
Get-Service [[-Name] <string[]>] [-ComputerName <string[]>] [-DependentServices] [-Exclude <string[]>] [-Include <string[]>] [-RequiredServices] [<CommonParameters>] Get-Service -DisplayName <string[]> [-ComputerName <string[]>] [-DependentServices] [-Exclude <string[]>] [-Include <string[]>] [-RequiredServices] [<CommonParameters>] Get-Service [-InputObject <ServiceController[]>] [-ComputerName <string[]>] [-DependentServices] [-Exclude <string[]>] [-Include <string[]>] [-RequiredServices] [<CommonParameters>]
Descrizione
Il cmdlet Get-Service ottiene gli oggetti che rappresentano i servizi in un computer locale o remoto, inclusi i servizi in esecuzione e quelli interrotti.
È possibile indicare a Get-Service di ottenere solo determinati servizi specificando il nome o il nome visualizzato dei servizi oppure è possibile reindirizzare gli oggetti servizio a Get-Service.
Parametri
-ComputerName <string[]>
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 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.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
Localhost |
Accettare input da pipeline? |
true (ByPropertyName) |
Accettare caratteri jolly? |
false |
-DependentServices
Ottiene solo i servizi che dipendono dal servizio specificato.
Per impostazione predefinita, Get-Service ottiene tutti i servizi.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
False |
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-DisplayName <string[]>
Specifica i nomi visualizzati dei servizi da recuperare. È consentito l'utilizzo di caratteri jolly. Per impostazione predefinita, Get-Service ottiene tutti i servizi nel computer.
Obbligatorio? |
true |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-Exclude <string[]>
Omette i servizi specificati. Il valore di questo parametro qualifica il parametro Name. Immettere un criterio o un elemento del nome, ad esempio "s*". È consentito l'utilizzo di caratteri jolly.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-Include <string[]>
Recupera unicamente i servizi specificati. Il valore di questo parametro qualifica il parametro Name. Immettere un criterio o un elemento del nome, ad esempio "s*". È consentito l'utilizzo di caratteri jolly.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-InputObject <ServiceController[]>
Specifica gli oggetti ServiceController che rappresentano i servizi da recuperare. Immettere una variabile contenente gli oggetti oppure digitare un comando o un'espressione che consente di ottenere gli oggetti. È inoltre possibile reindirizzare un oggetto servizio a Get-Service.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
true (ByValue) |
Accettare caratteri jolly? |
false |
-Name <string[]>
Specifica i nomi dei servizi da recuperare. È consentito l'utilizzo di caratteri jolly. Per impostazione predefinita, Get-Service ottiene tutti i servizi nel computer.
Obbligatorio? |
false |
Posizione? |
1 |
Valore predefinito |
|
Accettare input da pipeline? |
true (ByValue, ByPropertyName) |
Accettare caratteri jolly? |
true |
-RequiredServices
Ottiene solo i servizi richiesti da tale servizio.
Questo parametro ottiene il valore della proprietà ServicesDependedOn del servizio. Per impostazione predefinita, Get-Service ottiene tutti i servizi.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
False |
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
<CommonParameters>
Questo cmdlet supporta i parametri comuni -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Per ulteriori informazioni, vedere about_Commonparameters.
Input e output
Il tipo di input è il tipo degli oggetti che è possibile reindirizzare al cmdlet. Il tipo restituito è il tipo degli oggetti restituiti dal cmdlet.
Input |
System.ServiceProcess.ServiceController, System.String È possibile reindirizzare un oggetto servizio o un nome servizio a Get-Service. |
Output |
System.ServiceProcess.ServiceController Get-Service restituisce oggetti che rappresentano i servizi disponibili nel computer. |
Note
È inoltre possibile fare riferimento a Get-Service tramite il relativo alias predefinito "gsv". Per ulteriori informazioni, vedere about_Aliases.
Get-Service consente di visualizzare servizi solo se l'utente corrente dispone delle autorizzazioni per vederli. Se i servizi non vengono visualizzati da Get-Service, è possibile che non si disponga delle autorizzazioni per vederli.
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 Name e i nomi visualizzati vengono elencati nella colonna DisplayName.
Quando si ordina in ordine crescente in base al valore di stato, i servizi "Stopped" vengono visualizzati prima dei "Running". La proprietà Status di un servizio è un valore enumerato nel quale i nomi degli stati rappresentano valori interi. L'ordinamento è basato sul valore intero, non sul nome. "Running" viene visualizzato prima di "Stopped" poiché "Stopped" ha un valore di "1" mentre "Running" ha un valore di "4".
Esempio 1
C:\PS>get-service Descrizione ----------- Con questo comando vengono recuperati tutti i servizi nel sistema come se si digitasse "get-service *". Nella visualizzazione predefinita sono elencati lo stato, il nome e il nome visualizzato di ogni servizio.
Esempio 2
C:\PS>get-service wmi* Descrizione ----------- Con questo comando vengono recuperati servizi il cui nome inizia con "WMI" (acronimo di Strumentazione gestione Windows).
Esempio 3
C:\PS>get-service -displayname *network* Descrizione ----------- Con questo comando vengono visualizzati i servizi il cui nome visualizzato inizia con la parola "network". La ricerca del nome visualizzato consente di trovare tutti i servizi relativi alla rete, anche se il nome del servizio non include "Net", ad esempio xmlprov, il servizio Provisioning di rete.
Esempio 4
C:\PS>get-service -name win* -exclude winrm Descrizione ----------- Con questi comandi vengono ottenuti solo i servizi il cui nome inizia con "win", tranne il servizio WinRM.
Esempio 5
C:\PS>get-service | where-object {$_.Status -eq "Running"} Descrizione ----------- Con questo comando vengono visualizzati solo i servizi attualmente in esecuzione. Viene utilizzato il cmdlet Get-Service per ottenere tutti i servizi disponibili nel computer. L'operatore pipeline (|) passa i risultati al cmdlet Where-Object, tramite il quale vengono selezionati solo i servizi la cui proprietà Status equivale a "Running". Status è l'unica proprietà degli oggetti servizio. Per visualizzare tutte le proprietà, digitare "get-service | get-member".
Esempio 6
C:\PS>get-service -computername Server02 Descrizione ----------- Con questo comando vengono ottenuti 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 di Windows PowerShell.
Esempio 7
C:\PS>get-service | where-object {$_.DependentServices} | format-list -property Name, DependentServices, @{Label="NoOfDependentS ervices"; Expression={$_.dependentservices.count}} Name : AudioEndpointBuilder DependentServices : {AudioSrv} NoOfDependentServices : 1 Name : Dhcp DependentServices : {WinHttpAutoProxySvc} NoOfDependentServices : 1 ... Descrizione ----------- Questi comandi elencano i servizi presenti nel computer con servizi dipendenti. Nel primo comando viene utilizzato il cmdlet Get-Service per ottenere i servizi disponibili nel computer. Un operatore pipeline (|) invia i servizi al cmdlet Where-Object che seleziona i servizi la cui proprietà DependentServices non è null. I risultati vengono inviati al cmdlet Format-List da un altro operatore pipeline. Nel comando viene utilizzato 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
C:\PS>C:\PS> 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 C:\PS> get-service s* | sort-object status -descending Status Name DisplayName ------ ---- ----------- Running ShellHWDetection Shell Hardware Detection Running SharedAccess Windows Firewall/Internet Connectio... Running Spooler Print Spooler Running SSDPSRV SSDP Discovery Service Running srservice System Restore Service Running SCardSvr Smart Card Running SamSs Security Accounts Manager Running Schedule Task Scheduler Running SENS System Event Notification Running seclogon Secondary Logon Stopped SysmonLog Performance Logs and Alerts Stopped SwPrv MS Software Shadow Copy Provider Stopped stisvc Windows Image Acquisition (WIA) Descrizione ----------- Questo comando mostra che quando si ordinano in ordine crescente i servizi in base al valore della proprietà Status, i servizi arrestati vengono visualizzati prima dei servizi in esecuzione. Questa situazione è dovuta al fatto che il valore di Status è un'enumerazione in cui "Stopped" ha valore "1" e "Running" ha valore 4. Per elencare prima i servizi in esecuzione, utilizzare il parametro Descending del cmdlet Sort-Object.
Esempio 9
C:\PS>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) Descrizione ----------- In questo comando viene utilizza il cmdlet Get-Service per eseguire un comando "Get-Service Winrm" su due computer remoti e sul computer locale ("localhost"). Il comando Get-Service viene eseguito in computer remoti e i risultati vengono restituiti al computer locale. Verrà quindi utilizzato un operatore pipeline (|) per inviare i risultati al cmdlet Format-Table, che formatterà i servizi in una tabella. Nel comando Format-Table viene utilizzato il parametro Property per specificare le proprietà visualizzate nella tabella, inclusa la proprietà MachineName.
Esempio 10
C:\PS>get-service winrm -requiredServices Descrizione ----------- Questo comando ottiene i servizi richiesti dal servizio WinRM. Il comando restituisce il valore della proprietà ServicesDependedOn del servizio.
Esempio 11
C:\PS>"winrm" | get-service Descrizione ----------- Questo comando ottiene il servizio WinRM nel computer locale. In questo esempio viene illustrato che è possibile reindirizzare una stringa del nome del servizio (racchiusa tra virgolette) a Get-Service.
Vedere anche