Compartilhar via


Sobre eventlogs

Descrição breve

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

Descrição longa

O log de eventos Windows PowerShell registra detalhes de operações de Windows PowerShell, como iniciar e parar o mecanismo de programa e iniciar e parar os provedores de Windows PowerShell. Você também pode registrar detalhes sobre Windows PowerShell comandos.

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

Exibindo o log de eventos do Windows PowerShell

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

Get-EventLog -LogName "Windows PowerShell"

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

Por exemplo, para exibir os eventos no log agrupado 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 Get-WmiObject cmdlet para usar as classes 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 WMI relacionadas ao evento 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".

Selecionando eventos para o log de eventos do Windows PowerShell

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

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

A tabela a seguir lista as variáveis de preferência do log de eventos.

Variável Descrição
$LogEngineLifeCycleEvent Registra o início e a parada do PowerShell
$LogEngineHealthEvent Logs de erros de programa do PowerShell
$LogProviderLifeCycleEvent Registra o início e a parada de provedores do PowerShell
$LogProviderHealthEvent Registra erros do provedor do PowerShell
$LogCommandLifeCycleEvent Registra em log a inicialização e a conclusão de comandos
$LogCommandHealthEvent Erros de comando de logs

(Para obter informações sobre provedores de Windows PowerShell, consulte about_Providers.)

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

  • $LogEngineLifeCycleEvent
  • $LogEngineHealthEvent
  • $LogProviderLifeCycleEvent
  • $LogProviderHealthEvent

Para habilitar um tipo de evento, defina a variável de preferência para esse tipo de evento como $true. Por exemplo, para habilitar eventos de ciclo de vida de comando, digite:

$LogCommandLifeCycleEvent

Ou digite:

$LogCommandLifeCycleEvent = $true

Para desabilitar um tipo de evento, defina a variável de preferência para esse tipo de evento como $false. Por exemplo, para desabilitar eventos de ciclo de vida de comando, digite:

$LogProviderLifeCycleEvent = $false

Você pode desabilitar qualquer evento, exceto os eventos que indicam que o mecanismo de Windows PowerShell e os principais provedores foram iniciados. Esses eventos são gerados antes que os perfis de Windows PowerShell sejam executados e antes que o programa host esteja pronto para aceitar comandos.

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

Eventos de módulo de registro em log

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

Quando o valor da propriedade LogPipelineExecutionDetails é TRUE ($true), Windows PowerShell grava eventos de execução de função e cmdlet na sessão no log Windows PowerShell Visualizador de Eventos. A configuração é efetiva apenas na sessão atual.

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

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 sequência de comandos a seguir.

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

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

Você também pode usar a configuração "Ativar Log do Módulo" Política de Grupo 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ódulo e snap-in. Há suporte para caracteres curinga.

Quando "Ativar o Log do Módulo" é definido 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 Ativar Log do Módulo 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 Configuração do Usuário tem precedência sobre a política de Configuração do Computador e ambas as políticas têm preferência sobre o valor da propriedade LogPipelineExecutionDetails de módulos e snap-ins.

Para obter mais informações sobre essa configuração de Política de Grupo, consulte about_Group_Policy_Settings.

Segurança e auditoria

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

No entanto, como a maioria dos logs de eventos de aplicativo baseados no Windows, o log de eventos do Windows PowerShell não foi projetado para ser seguro. Ele não deve ser usado para auditar a segurança ou para registrar informações confidenciais ou proprietárias.

Os logs de eventos foram projetados 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 impedir o registro em log de suas atividades.

Observações

Os autores de autores de módulo podem adicionar recursos de registro em log aos módulos. Para obter mais informações, consulte Escrevendo um módulo de Windows PowerShell na biblioteca MSDN.

Consulte Também

Get-EventLog

Get-WmiObject

about_Group_Policy_Settings

about_Preference_Variables