Como criar um serviço do Windows
Às vezes, você precisa de um aplicativo ou script para continuar em execução, esteja você conectado ao seu computador ou não. Talvez seja um script do PowerShell para monitorar portas(PowerShell script to monitor ports) ou um servidor web que hospeda uma página em sua rede doméstica(web server hosting a page on your home network) .
O ponto é que se você quiser que um processo, script ou programa seja executado enquanto o computador estiver ligado, você precisará criar um Windows Service .
O que preciso para criar um serviço do Windows?(What Do I Need to Create a Windows Service?)
Para criar um serviço do Windows no Windows 10(Windows 10) , existem alguns pré-requisitos:
- Acesso de administrador(Administrator) no computador
- Algo para ser executado como um serviço ( PowerShell Script , programa, etc.)
- Non-Sucking Service Manager ( NSSM ) instalado
O que é o Gerenciador de Serviço Não Sugador?(What Is the Non-Sucking Service Manager?)
Sim, você não pode soltar um nome como esse sem explicá-lo. Claro que o nome é infeliz, mas é preciso. O Non-Sucking Service Manager ( NSSM ) é sem dúvida a maneira mais fácil de criar um serviço do Windows(Windows) altamente confiável e configurável. Além disso, é um software livre e de código aberto(Open Source Software) (OSS).
O NSSM pode ser usado por meio do prompt(Windows Command Prompt) de comando do Windows ou de uma interface gráfica do usuário ( GUI ). Isso significa que qualquer pessoa pode usá-lo. O NSSM pode ser usado em qualquer versão do Windows voltando e incluindo o Windows 2000(Windows 2000) . Existem versões de 32 bits e 64 bits(32-bit and 64-bit) . Se você estiver usando um computador de 64 bits, tente essa versão primeiro. Se não funcionar, volte para a versão de 32 bits.
Você pode baixar o NSSM do site(download NSSM from the website) , clonar o NSSM do Git(clone NSSM from Git) ou instalar o NSSM com Chocolatey(install NSSM with Chocolatey) . Chocolatey é um gerenciador de pacotes para Windows(Chocolatey is a package manager for Windows) . Os métodos de instalação(Installation) variam dependendo de qual rota você toma. Consulte (Please)as(NSSM) instruções do NSSM . Para nosso exemplo, estamos baixando do site do NSSM e instalando-o em C:\WINDOWS\system32 .
Criar um serviço do Windows com NSSM(Create a Windows Service With NSSM)
Para este exemplo, criaremos um serviço a partir de um script do PowerShell(PowerShell script) para registrar a porcentagem de carga média da CPU(CPU average load percentage) .
- Copie e salve este script como log-CPULoadPercentage.ps1 em um local que provavelmente não será acessado por mais ninguém. Tente criar o diretório C:/Scripts e armazená-lo lá. Além disso, crie uma pasta em Scripts chamada Logs . Observe que o caminho para o script é C:/Scripts/log-CPULoadPercentage.ps1 . Você vai precisar disso mais tarde.
Nota(Note) : Todas as linhas abaixo seguidas do símbolo # são comentários e não afetarão o script.
CLS #Optional. I like to use this to clear the terminal when testing. #Make sure you have a folder called Logs in the same directory as this script #The log is where the records will be stored. Start-Transcript -Path "$PSScriptRoot\Logs\log-CPULoadPercentage-$(get-date -f yyyy-MM-dd).txt" -Append #While loop keeps it running until manually stopped While ($True){ #Creates a timestamp to know when the measurement was taken $timeStamp = get-date -f yyyy-MM-h:mm:ss #Gets the average load percentage at that time, then waits 5 seconds to do it again. $cpuLoadPercent = Get-CimInstance win32_processor | Measure-Object -Property LoadPercentage -Average | Select-Object Average;Start-Sleep -Seconds 5 #Isolates just the average so there isn't a weird @{Average=13} string $cpuLoadPercent = $cpuLoadPercent.Average #writes results to screen, or in this case to the log Write-Host "$timeStamp CPU Load Percentage $cpuLoadPercent" } Stop-Transcript
- Isso pode ser feito no prompt de comando do Windows(Windows Command Prompt) ou no PowerShell. Abra-o como Administrador(Open it as Administrator) .
- Digite o comando nssm install logCPUAvg e execute-o. A janela do instalador do serviço NSSM(NSSM service installer) será aberta.
- Clique(Click) no botão de reticências ao lado do campo Path :, navegue até o powershell.exe que normalmente está localizado em C:\Windows\System32\ . Selecione powershell.exe. Os campos Path: e Startup directory: serão preenchidos automaticamente.
- Insira o seguinte no campo Argumentos:: (Arguments:)-ExecutionPolicy Bypass -NoProfile -File “C:\PathToScript\get-Script.ps1” , em que a última parte é o caminho para o script do PowerShell e o nome do script.(PowerShell)
- Selecione a guia Detalhes . (Details)Digite o que você gostaria que o serviço mostrasse como no gerenciador de serviços do (Services)Windows no campo Nome de exibição:. (Display name: )Em seguida, digite o que ele faz no campo Descrição:. (Description:)O tipo de inicialização:(Startup type: ) pode ser definido como Automático(Automatic) , Automático (Início Atrasado)(Automatic (Delayed Start)) , Manual ou Desativado(Disabled) . Para este exercício, Automático(Automatic) é bom.
- Selecione a guia Fazer logon . (Log on )Selecione Esta conta(This account) : botão de opção e insira a conta e a senha com a qual o serviço será executado. Você precisará escolher uma conta na qual o serviço será executado. Idealmente, você terá uma conta do Windows(Windows) criada apenas para executar este serviço. As permissões dessa conta devem ser limitadas apenas ao que o serviço precisa fazer. Você pode escolher a conta do sistema local(Local System account) , mas isso não é recomendado por motivos de segurança.
Existem várias outras guias que podem ser usadas para personalizar o serviço. Para este exercício, os valores padrão nessas guias são suficientes. Selecione o botão Instalar serviço(Install service ) .
- Quando o serviço estiver instalado, você verá o Service “logCPUAvg” installed successfully! janela. Selecione OK para fechá-lo. Isso conclui a instalação.
- Abra o Gerenciador de Serviços do Windows(Windows Services Manager ) e verifique se o serviço está lá.
- Execute(Run) o serviço para garantir que ele seja executado.
- Para verificar se esse serviço está em execução, use o Explorador de Arquivos(File Explorer ) para navegar até onde o log deve ser salvo para ver se ele existe.
nssm-check-log.png
Removendo um serviço do Windows com NSSM(Removing a Windows Service With NSSM)
Talvez você não precise mais monitorar a(monitor your CPU) carga da CPU, então gostaria de se livrar do serviço. Felizmente, o NSSM(NSSM) facilita isso.
- No Windows Services Manager , interrompa o serviço. Faça isso selecionando o serviço Log CPU Average Load e, em seguida, selecionando o botão quadrado de parada na barra de ferramentas ou o link Parar o serviço(Stop the service) no lado esquerdo.
- Abra o prompt de comando do Windows(Windows Command Prompt ) ou o PowerShell como administrador.
- Digite o comando nssm remove logCPUAvg e execute o comando.
- O NSSM(NSSM) solicitará que você confirme. Selecione Sim(Yes) .
- Quando o serviço for removido, você verá o Service “logCPUAvg” removed successfully! Confirmação. Selecione OK e pronto.
Isso é tudo. É uma boa ideia verificar o gerenciador de serviços para garantir que o serviço não esteja mais lá. Se você ainda vir o serviço, talvez seja necessário atualizar a tela e ele deve desaparecer.
Os serviços são uma ótima maneira de executar aplicativos ou scripts que precisam ser executados o tempo todo, reiniciar-se se falharem ou precisar de privilégios diferentes do usuário atual. Se você não precisar que seu aplicativo ou script faça todas essas coisas, considere usar uma tarefa agendada(using a Scheduled Task) .
Related posts
Como ativar ou desativar IP Helper Service em Windows 10
Como habilitar o DNS Client Service se acinzentado em Windows 10
Como desativar Windows Insider Service em Windows 10
O que é Bonjour Service no Windows 10?
Fix System Service Exception Error em Windows 10
Hide Toolbars option em Taskbar Context Menu em Windows 10
Best livre Molecular Modeling software para Windows 10
Picsart oferece Custom Stickers & Exclusive 3D Editing em Windows 10
Como desativar Automatic Driver Updates em Windows 10
Hide or Show Windows Ink Workspace Button em Taskbar em Windows 10
Best Free Barcode Scanner software para Windows 10
Como impor Google SafeSearch em Microsoft Edge em Windows 10
Como corrigir o código de parada de exceção de serviço do sistema no Windows 10
O que é o processo executável do serviço antimalware e é seguro?
Explicando Modern Setup Host em Windows 10. É seguro?
Como corrigir o serviço de atualização do Windows que não está em execução
Como instalar NumPy usando PIP em Windows 10
Como usar Network Sniffer Tool PktMon.exe em Windows 10
Battery Limiter software livre para Windows 10
Ativar Enhanced Anti-Spoofing em Windows 10 Hello Face Authentication