Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade

Como habilitar o log Microsoft-Windows-PrintService/Operational no Windows

Neste artigo, vamos abordar a importância de habilitar o log Microsoft-Windows-PrintService/Operational no ambiente Windows e como realizar essa tarefa. O log Microsoft-Windows-PrintService/Operational é responsável por registrar eventos relacionados ao serviço de impressão do Windows, fornecendo informações úteis para solução de problemas e monitoramento do sistema.

Exemplos:

  1. Habilitando o log Microsoft-Windows-PrintService/Operational via Event Viewer:

    • Abra o Event Viewer (Visualizador de Eventos) no Windows.
    • Navegue até "Logs do Windows" e expanda a pasta "Application and Services Logs" (Aplicativos e Serviços) e, em seguida, "Microsoft" e "Windows".
    • Localize e clique com o botão direito do mouse em "PrintService" (Serviço de Impressão).
    • Selecione "Enable Log" (Habilitar Log) para ativar o registro de eventos do serviço de impressão.
  2. Habilitando o log Microsoft-Windows-PrintService/Operational via PowerShell:

    • Abra o PowerShell como administrador.
    • Execute o seguinte comando para habilitar o log:
      wevtutil sl Microsoft-Windows-PrintService/Operational /e:true
  3. Habilitando o log Microsoft-Windows-PrintService/Operational via Group Policy:

    • Abra o Editor de Política de Grupo (Group Policy Editor) no Windows.
    • Navegue até "Configuração do Computador" -> "Modelos Administrativos" -> "Componentes do Windows" -> "Serviço de Impressão" -> "Registro de Eventos".
    • Habilite a configuração "Habilitar registro de eventos do Serviço de Impressão".

Script para Verificar e Habilitar o Log PrintService de forma Automatizada Este script em PowerShell verifica se o log 'Microsoft-Windows-PrintService/Operational' está habilitado e, caso não esteja, ele realiza à sua habilitação:

# Obtém o status atual do log Microsoft-Windows-PrintService/Operational
$printenable = wevtutil gl Microsoft-Windows-PrintService/Operational | Select-String "enabled"

# Verifica se "enabled: true" está presente na saída
if ($printenable -match "enabled:\s+true") { 
    Write-Host "O log já está configurado."
} else {
    Write-Host "O log não está configurado. Configurando agora..."
    # Habilita o log
    wevtutil sl Microsoft-Windows-PrintService/Operational /e:true
    Write-Host "Log configurado com sucesso."
}

Explicação:

  1. Select-String e Match:

    • Select-String "enabled" extrai a linha contendo a palavra "enabled" da saída do comando wevtutil gl.
    • O operador -match é usado para verificar se a linha contém "enabled: true". O \s+ assegura que espaços entre "enabled:" e "true" sejam ignorados, o que torna o script mais robusto.
  2. Ações Condicional:

    • Se o log já estiver habilitado (enabled: true), ele exibe uma mensagem informando que já está configurado.
    • Se não estiver habilitado, ele procede para habilitar o log com o comando wevtutil sl e então confirma que a ação foi realizada.

Distribuição do Script via Intune na Forma de Remediação

O script abaixo é parecido com o anterior, mas foi adicionada mais uma função para coletar os logs e assim proporcionar um melhor acompanhamento da execução. Se você pretende distribuir este script como uma solução de remediação no Intune, já o configuramos para você. Seguem abaixo os dois scripts para publicação via Intune: "DetectLogStatus.ps1" e "EnablePrintLog.ps1".":

Script de Detecção DetectLogStatus.ps1


# Caminho para o arquivo de log
$logPath = "C:\Windows\Logs\PrintServiceDetectionLog.txt"

function LogMessage {
    param([string]$Message)
    Add-Content -Path $logPath -Value "$(Get-Date -Format "yyyy-MM-dd HH:mm:ss") - $Message"
}

# Verifica se a pasta de logs existe, se não, cria
if (-not (Test-Path (Split-Path -Path $logPath -Parent))) {
    New-Item -ItemType Directory -Path (Split-Path -Path $logPath -Parent)
}

try {
    $printenable = wevtutil gl Microsoft-Windows-PrintService/Operational | Select-String "enabled"
    if ($printenable -match "enabled:\s+true") {
        LogMessage "O log já está configurado."
        exit 0
    } else {
        LogMessage "O log não está configurado."
        exit 1
    }
} catch {
    LogMessage "Erro ao verificar o status do log: $_"
    exit 1
}

Script de Remediação EnablePrintLog.ps1


# Caminho para o arquivo de log
$logPath = "C:\Windows\Logs\PrintServiceRemediationLog.txt"

function LogMessage {
    param([string]$Message)
    Add-Content -Path $logPath -Value "$(Get-Date -Format "yyyy-MM-dd HH:mm:ss") - $Message"
}

# Verifica se a pasta de logs existe, se não, cria
if (-not (Test-Path (Split-Path -Path $logPath -Parent))) {
    New-Item -ItemType Directory -Path (Split-Path -Path $logPath -Parent)
}

try {
    wevtutil sl Microsoft-Windows-PrintService/Operational /e:true
    LogMessage "Log do serviço de impressão habilitado com sucesso."
    exit 0
} catch {
    LogMessage "Falha ao habilitar o log do serviço de impressão: $_"
    exit 1
}

Explicações: Função LogMessage: Ambos os scripts utilizam uma função chamada "LogMessage" para registrar mensagens de log com um carimbo de data/hora em um arquivo de log especificado. Isso é útil para manter registros detalhados das operações do script. Verificação de Pasta: Antes de tentarem escrever no arquivo de log, os scripts verificam se o diretório onde o arquivo será salvo existe. Caso não exista, ele é criado. Isso evita erros na escrita do arquivo. Registro de Erros e Atividades: Cada ação importante, como a detecção do estado de configuração ou a execução da habilitação do log, é registrada no arquivo de log, fornecendo uma trilha auditável para revisão posterior.

To share Download PDF

Gostou do artigo? Deixe sua avaliação!
Sua opinião é muito importante para nós. Clique em um dos botões abaixo para nos dizer o que achou deste conteúdo.