Visualizzazione post con etichetta tipo di avvio. Mostra tutti i post
Visualizzazione post con etichetta tipo di avvio. Mostra tutti i post

giovedì 10 novembre 2016

PowerShell: Visualizzare il tipo di avvio e lo stato dei servizi di sistema utilizzando Get-WMIObject

Per visualizzare lo stato dei servizi di Windows e il relativo tipo di avvio impostato è possibile utilizzare il cmdlet di PowerShell Get-WMIObject.
Da PowerShell eseguire il comando
Get-WMIObject Win32_Service | Select-Object Name, StartMode, State

Se si intende visualizzare le informazioni relative ad un solo servizio possiamo filtrare il risultato con Where {$_.name -eq "Nome_Servizio"}
Ad es. volendo visualizzare il tipo di avvio e lo stato del servizio Spooler eseguiamo il comando
Get-WMIObject Win32_Service | Where {$_.name -eq "Spooler"} | Select-Object Name, StartMode, State


PowerShell, visualizzare il tipo di avvio e lo stato di un servizio
FIG 1 - PowerShell, visualizzare il tipo di avvio e lo stato di un servizio

In modo analogo è possibile visualizzare solo i servizi in esecuzione utilizzando il filtro Where {$_.state -eq "Running"}
Get-WMIObject Win32_Service | Where {$_.state -eq "Running"} | Select-Object Name, StartMode, State

oppure quelli che hanno impostato come tipo di avvio Automatico con Where {$_.StartMode -eq "Auto"}
Get-WMIObject Win32_Service | Where {$_.StartMode -eq "Auto"} | Select-Object Name, StartMode, State

Per utilizzare più condizioni nello stesso comando basta utilizzare -and. Ad es., lanciando il seguente comando uniamo le 2 condizioni viste precedentemente e verranno mostrati tutti i servizi in esecuzione che hanno impostato come tipo di avvio Automatico
Get-WMIObject Win32_Service | Where {$_.state -eq "Running" -and $_.StartMode -eq "Auto"} | Select-Object Name, StartMode, State

Per visualizzare le informazioni relative ai servizi di una macchina remota, basta utilizzare il parametro -Computer specificando il nome o l'indirizzo IP della postazione. Ad es. volendo verificare il servizio Spooler sulla postazione Server1 il comando da utilizzare è il seguente:
Get-WMIObject Win32_Service -Computer Server1 | Where {$_.name -eq "Spooler"} | Select-Object Name, StartMode, State