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