Comandos Simples para Gerenciar Serviços do Windows
Descubra os comandos básicos para gerenciar serviços do Windows, da visualização até a interrupção forçada.
I
InSkillCoach
· min
Comandos Simples para Gerenciar Serviços do Windows
Descubra os comandos essenciais para gerenciar serviços do Windows, seja pelo PowerShell ou pelo Prompt de Comando.
1. Visualização dos Serviços
Lista dos Serviços
# Exibir todos os serviços
Get-Service
# Exibir um serviço específico
Get-Service -Name "Windows Update"
# Exibir os serviços em execução
Get-Service | Where-Object {$_.Status -eq "Running"}
# Exibir os serviços parados
Get-Service | Where-Object {$_.Status -eq "Stopped"}
Informações Detalhadas
# Exibir os detalhes de um serviço
Get-Service -Name "Windows Update" | Format-List *
# Exibir os serviços dependentes de um serviço
Get-Service -Name "Windows Update" -DependentServices
# Exibir os serviços dos quais um serviço depende
Get-Service -Name "Windows Update" -RequiredServices
2. Gerenciamento dos Serviços
Início e Interrupção
# Iniciar um serviço
Start-Service -Name "Windows Update"
# Parar um serviço
Stop-Service -Name "Windows Update"
# Reiniciar um serviço
Restart-Service -Name "Windows Update"
# Suspender um serviço (pausa)
Suspend-Service -Name "Windows Update"
# Retomar um serviço suspenso
Resume-Service -Name "Windows Update"
Interrupção Forçada (equivalente a kill -9)
# Interrupção forçada de um serviço
Stop-Process -Name "svchost" -Force
# Interrupção forçada com confirmação
Stop-Process -Name "svchost" -Force -Confirm
# Interrupção forçada de um serviço e de seus processos filhos
Stop-Process -Name "svchost" -Force -IncludeChildProcess
Interrupção Normal (equivalente a kill -15)
# Interrupção normal de um serviço
Stop-Service -Name "Windows Update"
# Interrupção normal com espera
Stop-Service -Name "Windows Update" -Force
# Interrupção normal com timeout
$service = Get-Service -Name "Windows Update"
$service.Stop()
Start-Sleep -Seconds 30
if ($service.Status -eq "Running") {
Stop-Process -Name "svchost" -Force
}
3. Configuração dos Serviços
Tipo de Inicialização
# Definir o tipo de inicialização
Set-Service -Name "Windows Update" -StartupType Automatic
# Tipos disponíveis:
# - Automatic (Inicialização automática)
# - Manual (Inicialização manual)
# - Disabled (Desabilitado)
# Verificar o tipo de inicialização
Get-Service -Name "Windows Update" | Select-Object Name, StartType
Permissões
# Ver as permissões de um serviço
Get-Acl -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Windows Update"
# Modificar as permissões
$acl = Get-Acl -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Windows Update"
$rule = New-Object System.Security.AccessControl.ServiceAccessRule(
"Administrateurs",
"FullControl",
"Allow"
)
$acl.SetAccessRule($rule)
Set-Acl -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Windows Update" -AclObject $acl
4. Comandos CMD (Prompt de Comando)
Gerenciamento Básico
# Iniciar um serviço
net start "Windows Update"
# Parar um serviço
net stop "Windows Update"
# Ver o estado de um serviço
sc query "Windows Update"
# Ver todos os serviços
sc query state= all
Interrupção Forçada
# Interrupção forçada de um serviço
taskkill /F /IM svchost.exe
# Interrupção forçada com confirmação
taskkill /F /IM svchost.exe /T
# Interrupção forçada de um serviço específico
taskkill /F /FI "SERVICES eq Windows Update"
5. Boas Práticas
Verificação Antes de Parar
# Verificar se um serviço é crítico
function Test-CriticalService {
param (
[string]$ServiceName
)
$criticalServices = @(
"LSASS",
"Winlogon",
"Services",
"RpcSs"
)
if ($criticalServices -contains $ServiceName) {
Write-Warning "Ce service est critique !"
return $true
}
return $false
}
# Exemplo de uso
if (-not (Test-CriticalService "Windows Update")) {
Stop-Service -Name "Windows Update"
}
Backup da Configuração
# Fazer backup da configuração de um serviço
function Backup-ServiceConfig {
param (
[string]$ServiceName
)
$backupPath = "C:\Backups\Services\$ServiceName_$(Get-Date -Format 'yyyyMMdd').txt"
# Criar a pasta se necessário
if (-not (Test-Path "C:\Backups\Services")) {
New-Item -ItemType Directory -Path "C:\Backups\Services"
}
# Fazer backup da configuração
Get-Service -Name $ServiceName | Format-List * | Out-File $backupPath
return $backupPath
}
Conclusão
Pontos-chave a lembrar:
- Sempre verifique se um serviço é crítico antes de pará-lo
- Prefira a interrupção normal à interrupção forçada
- Faça backup da configuração antes de modificá-la
- Use os comandos apropriados de acordo com o contexto
- Documente as modificações realizadas
Comandos essenciais:
Get-Service: Listar os serviçosStart-Service: Iniciar um serviçoStop-Service: Parar um serviço normalmenteStop-Process -Force: Parar um serviço à forçaSet-Service: Configurar um serviço
Sobre InSkillCoach
Especialista em treinamento e tecnologias
Coach especializado em tecnologias avançadas e IA, apoiado pela GNeurone Inc.
Certificações:
- AWS Certified Solutions Architect – Professional
- Certificações Google Cloud
- Microsoft Certified: DevOps Engineer Expert
- Certified Kubernetes Administrator (CKA)
- CompTIA Security+
1.8k
114
Comentários
Os comentários são alimentados pelo GitHub Discussions
Conecte-se com o GitHub para participar da discussão