Opa, pessoal!
Continuando com os tutoriais sobre CMDLETS do PowerShell para gerenciamento do sistema, estarei demonstrando aqui como gerenciar os serviços do Windows 10.
Primeiramente iremos executar o PowerShell com permissões elevados para que o cmdlet seja executado com êxito.
Para isso, iremos clicar com o botão direito do mouse na logo do menu do Windows, situado no canto inferior esquerdo da área de trabalho e depois clicar com o botão esquerdo em “Windows PowerShell (Admin)”.
Como estamos querendo executar com permissões administrativas, irá aparecer a janela de Controle de Conta de Usuário onde iremos clicar em “Sim” para permitir que o Windows PowerShell faça alterações no sistema.
O comando para listar todos os serviços que estão configurados no sistema é “get-service”, o qual iremos digitar e em seguida pressionar a tecla <enter>.
Reparem que aparecerá a lista de todos os serviços configurados no Windows e que podem estar sendo executados ou, no momento, estarem parados.
Supondo, como exemplo, que temos um serviço em específico que queremos deixá-lo parado. Neste meu caso, é o SQLEXPRESS.
Para para o serviços, preciso saber o nome correto deste processo. Então irei filtrar digitando o seguinte comando: ” get-service *sql* ” e em seguida pressionarei a tecla <enter>. Reparem que, para pesquisar por um trecho do nome, colocamos este pedaço entre astericos (*).
Como resultado, foram filtrados somente os serviços que tem SQL no nome e que estão executados ou parados.
Se quiser ainda filtrar os serviços SQL e mostrar só os que estão sendo executados, iremos utilizar o comando “get-service *sql* | where { $_.status -eq ‘running’ }”, seguido de pressionar a tecla <enter>. O pipeline ( | ) serve para concatenar comandos.
Como queremos parar o primeiro serviço listado, que é o MSSQL$SQLEXPRESS, iremos digitar o comando “stop-service ‘MSSQL$SQLEXPRESS'” seguido de pressionar a tecla <enter>. Como neste caso temos um caractere especial no nome, que é o cifrão ($), teremos que colocá-lo entre apóstrofe. Se quiséssemos parar o SQLWriter, poderíamos digitar o comando “get-service SQLWriter ” <enter>.
Depois que o comando foi executado com êxito, retornará ao prompt do PowerShell como é mostrada na imagem abaixo.
Se, por exemplo, quisermos saber quais serviços SQL estão parados, digitaremos o comando “get-service *sql* | where { $_.status -eq ‘stopped’ }” e ao final do comando sempre pressionando a tecla <enter>.
Se quisermos filtrar um serviço em específico que está sendo executado e na mesma linha parar este serviço, usaremos o pipeline ( | ) para concatenar estes comandos. Com o SQL como exemplo ficaria da seguinte forma: “get-service *sql* | where { $_.status -eq ‘running’ } | stop-service” seguido de pressionar <enter>.
Os comando sendo executados com êxito, voltará para o prompt de comando.
Se quisermos iniciar o serviço do SQL novamente, digitaremos o comando “start-service ‘MSSQL$SQLEXPRESS'” seguido de pressionar a tecla <enter>. Iremos notar que aparecerá a mensagem que o serviço solicitado está sendo iniciado.
Se quisermos saber maiores informações sobre um serviço em específico, que neste exemplo é o SQLWriter, iremos digitar o seguinte comando: “get-service sqlwriter | select-object *” seguido de <enter>. A instrução após o pipeline trará maiores informações sobre o serviço solicitado.
Acho que é isso pessoal.
Nos próximos artigos trarei outros comandos bastante utilizados no PowerShell.
Espero que seja útil para quem curte (ou necessita) gerenciar via linha de comando. Até a próxima!
1 Comentários
Bom dia!
Excelente artigo técnico! Bastante detalhado e com boa didática. Muito obrigado pelas informações, são úteis para nosso aprendizado em PowerShell.