0%
Comandos Simples para Gerenciar Serviços do Windows

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ços
  • Start-Service: Iniciar um serviço
  • Stop-Service: Parar um serviço normalmente
  • Stop-Process -Force: Parar um serviço à força
  • Set-Service: Configurar um serviço
InSkillCoach

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

Link copiado!