about_Eventlogs

Aplica-se a: Windows PowerShell 2.0, Windows PowerShell 3.0

TÓPICO

about_EventLogs

DESCRIÇÃO BREVE

O Windows PowerShell® cria um log de eventos do Windows chamado "Windows PowerShell" para registrar os eventos do Windows PowerShell. Você pode exibir esse log no Visualizador de Eventos ou usando cmdlets que obtêm eventos, como o cmdlet Get-EventLog. Por padrão, o mecanismo do Windows PowerShell e os eventos do provedor são registrados no log de eventos, mas você pode usar as variáveis preferenciais para personalizar o log de eventos. Por exemplo, você pode adicionar eventos sobre os comandos do Windows PowerShell.

DESCRIÇÃO LONGA

O log de eventos do Windows PowerShell registra os detalhes das operações do Windows PowerShell, como a inicialização e interrupção do mecanismo do programa e a inicialização e interrupção dos provedores do Windows PowerShell. Você também pode registrar detalhes sobre os comandos do Windows PowerShell.

O log de eventos do Windows PowerShell está no grupo de Logs de Aplicativos e Serviços. O log do Windows PowerShell é um log de eventos clássico que não usa a tecnologia Windows Eventing. Para exibir o log, use os cmdlets projetados para logs de eventos clássicos, como Get-EventLog.

COMO EXIBIR O LOG DE EVENTOS DO WINDOWS POWERSHELL

Você pode exibir o log de eventos do Windows PowerShell no Visualizador de Eventos ou usando os cmdlets Get-EventLog e Get-WmiObject. Para exibir o conteúdo do log do Windows PowerShell, digite:

  Get-EventLog -LogName "Windows PowerShell"

Para examinar os eventos e suas propriedades, use o cmdlet Sort-Object, o cmdlet Group-Object e os cmdlets que contêm o verbo Format (os cmdlets Format).

Por exemplo, para exibir os eventos do log agrupados pela ID do evento, digite:

  Get-EventLog "Windows PowerShell" | Format-Table -GroupBy EventID

Ou digite:

  Get-EventLog "Windows PowerShell" | Sort-Object EventID `
            | Group-Object EventID

Para exibir todos os logs de eventos clássicos, digite:

  Get-EventLog -List

Você também pode usar o cmdlet Get-WmiObject para usar as classes da WMI (Instrumentação de Gerenciamento do Windows) relacionadas a eventos para examinar o log de eventos. Por exemplo, para exibir todas as propriedades do arquivo de log de eventos, digite:

  Get-WmiObject Win32_NTEventLogFile | where `
            {$_.LogFileName -eq "Windows PowerShell"} | Format-List -Property * 

Para localizar as classes da WMI relacionadas a eventos do Win32, digite:

Get-WmiObject -List | where {$_.Name -like "win32*event*"}

Para obter mais informações, digite "Get-Help Get-EventLog" e "Get-Help Get-WmiObject".

COMO SELECIONAR EVENTOS PARA O LOG DE EVENTOS DO WINDOWS POWERSHELL

Você pode usar as variáveis preferenciais do log de eventos para determinar quais eventos são registrados no log de eventos do Windows PowerShell.

Há seis variáveis preferenciais de log de eventos; duas variáveis para cada um dos três componentes de registro em log: o mecanismo (o programa do Windows PowerShell), os provedores e os comandos. As variáveis LifeCycleEvent registram os eventos normais de inicialização e interrupção. As variáveis Health registram eventos de erro.

A tabela a seguir lista as variáveis preferenciais de log de eventos.

          Variable                     Description
          --------------------------   ----------------------------------------

  $LogEngineLifeCycleEvent     Logs starting and stopping of
                                       Windows PowerShell.

  $LogEngineHealthEvent        Logs Windows PowerShell program errors.

  $LogProviderLifeCycleEvent   Logs starting and stopping of 
                                       Windows PowerShell providers.

  $LogProviderHealthEvent      Logs Windows PowerShell provider errors.

  $LogCommandLifeCycleEvent    Logs starting and completion of commands.

  $LogCommandHealthEvent       Logs command errors.

(Para obter informações sobre os provedores do Windows PowerShell, digite: "Get-Help about_providers".)

Por padrão, somente os seguintes tipos de evento são habilitados:

  $LogEngineLifeCycleEvent
  $LogEngineHealthEvent
  $LogProviderLifeCycleEvent
  $LogProviderHealthEvent

Para habilitar um tipo de evento, configure a variável preferencial desse tipo de evento para $true. Por exemplo, para habilitar eventos de ciclo de vida dos comandos, digite:

  $LogCommandLifeCycleEvent

Ou digite:

  $LogCommandLifeCycleEvent = $true

Para desabilitar um tipo de evento, configure a variável preferencial desse tipo de evento para $false. Por exemplo, para desabilitar eventos de ciclo de vida dos comandos, digite:

  $LogProviderLifeCycleEvent = $false

Você pode desabilitar qualquer evento, com exceção dos eventos que indicam que o mecanismo e os principais provedores do Windows PowerShell foram inicializados. Esses eventos são gerados antes que os perfis do Windows PowerShell sejam executados e antes que o programa host esteja pronto para aceitar comandos.

As configurações de variáveis somente se aplicam à sessão atual do Windows PowerShell. Para aplicá-las a todas as sessões do Windows PowerShell, adicione-as a seu perfil do Windows PowerShell.

LOG DE EVENTOS DO MÓDULO

A partir do Windows PowerShell 3.0, você pode registrar eventos de execução para os cmdlets e as funções dos módulos e snap-ins do Windows PowerShell configurando a propriedade LogPipelineExecutionDetails dos módulos e snap-ins para TRUE. No Windows PowerShell 2.0, esse recurso está disponível somente para snap-ins.

Quando o valor da propriedade LogPipelineExecutionDetails for TRUE ($True), o Windows PowerShell grava eventos de execução de cmdlets e funções na sessão para o log do Windows PowerShell no Visualizador de Eventos. A configuração somente entra em vigor na sessão atual.

Para habilitar o registro em log dos eventos de execução de cmdlets e funções em um módulo, use a seguinte sequência de comandos.

        Import-Module <ModuleName>
        $m = Get-Module <ModuleName>
        $m.LogPipelineExecutionDetails = $True

Para habilitar o registro em log de eventos de execução de cmdlets em um snap-in, use a seguinte sequência de comandos.

        $m = Get-PSSnapin <SnapInName> [-Registered]
        $m.LogPipelineExecutionDetails = $True

Para desabilitar o registro em log, use a mesma sequência de comandos para configurar o valor da propriedade como FALSE ($False).

Você também pode usar a configuração de Política de Grupo "Turn on Module Logging" para habilitar e desabilitar o registro em log de módulos e snap-ins. O valor da política inclui uma lista de nomes de módulos e snap-ins. Há suporte para caracteres curinga.

Quando a configuração "Turn on Module Logging" for configurada para um módulo, o valor da propriedade LogPipelineExecutionDetails do módulo é TRUE em todas as sessões e não pode ser alterado.

A configuração de política de grupo Turn On Module Logging está localizada nos seguintes caminhos de Política de Grupo:

        Computer Configuration\Administrative Templates\Windows Components\Windows PowerShell
        User Configuration\Administrative Templates\Windows Components\Windows PowerShell

A política de User Configuration tem precedência sobre a política Computer Configuration, e ambas as políticas têm preferência sobre o valor da propriedade LogPipelineExecutionDetails dos módulos e snap-ins.

Para obter mais informações sobre essa configuração de Política de Grupo, consulte about_Group_Policy_Settings (https://go.microsoft.com/fwlink/?LinkId=251696).

SEGURANÇA E AUDITORIA

O log de eventos do Windows PowerShell foi desenvolvido para indicar a atividade e fornecer detalhes operacionais para solução de problemas.

No entanto, como a maioria dos logs de eventos de aplicativos baseados em Windows, o log de eventos do Windows PowerShell não foi desenvolvido para ser seguro. Ele não deve ser usado para fazer a auditoria de segurança ou para registrar informações confidenciais ou exclusivas.

Os logs de eventos foram desenvolvidos para serem lidos e compreendidos pelos usuários. Os usuários podem ler e gravar no log. Um usuário mal-intencionado pode ler um log de eventos em um computador local ou remoto, registrar dados falsos e, em seguida, impedir o registro de suas atividades em log.

OBSERVAÇÕES

Os autores dos módulos podem adicionar recursos de registro em log a seus módulos. Para obter mais informações, consulte "Como gravar um módulo do Windows PowerShell" na MSDN em https://go.microsoft.com/fwlink/?LinkID=144916.

CONSULTE TAMBÉM

Get-EventLog

Get-WmiObject

about_Group_Policy_Settings

about_Preference_Variables