Visualizzazione post con etichetta Servizio. Mostra tutti i post
Visualizzazione post con etichetta Servizio. Mostra tutti i post

venerdì 23 settembre 2022

PowerShell: Modificare le proprietà di logon di un servizio

Per modificare le proprietà di logon di un servizio tramite PowerShell, si utilizzano i cmdlet Get-Credential e Set-Service

Il codice illustrato in questo articolo andrà a modificare il servizio AppReadiness (Preparazione app) che consente di preparare le app per l'utilizzo al primo accesso dell'utente al PC e all'aggiunta di nuove app. Il servizio viene eseguito di default utilizzando l'account Local System. Attraverso i seguenti comandi PowerShell faremo in modo che il servizio venga eseguito con un account da noi specificato (le credenziali ci verranno richieste tramite Get-Credential).
 $credenziali = Get-Credential  
 Set-Service -Name "AppReadiness" -Credential $credenziali  
   
Da notare che il  parametro Set-Service -Credential è supportato solo in PowerShell 6 e successivi.




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