Saudações pessoal. Neste artigo explico como trabalhar com a cmdlet Get-EventLog para verificar logs referente ao nosso servidor ou alguma máquina remota.
A cmdlet Get-EventLog tem como objetivo obter eventos em computadores locais e\ou remotos. Eventos estes que são os mesmos registrados no visualizador de eventos(event viewer) do servidor\estação. Os eventos em que podemos obter através dessa cmdlet são:
Entendendo o que é a cmdlet e quais eventos podemos visualizar através dela iremos aprender como trabalhar com essa cmdlet. Com o PowerShell aberto, digite: Get-EventLog * para visualizar os logs em que podemos trabalhar, conforme, figura abaixo:
Digitado a informação(Get-EventLog *) podemos observar que tivemos como retorno os logs de:
– Active Directory
– Application
– DFS Replication
– Directory Service
– DNS Server
– HardwareEvents
– Internet Explorer
– Key Management Service
– Security
– System
– Windows PowerShell
Para verificar as informações referente a determinado Log, iremos digitar: Get-EventLog -LogName e o nome do log. No exemplo abaixo estou verificando as informações referente ao log de segurança(security).
Ao digitar o Get-EventLog -LogName e o log desejado você irá perceber que aparecerá uma lista imensa com informações. rs. Caso deseje verificar somente os últimas informações, acrescente o campo -Newest seguido da quantidade de informações que deseja. Exemplo abaixo estou verificando as últimas três informações referente ao log de segurança.
Caso queira trabalhar os campos Index, Time, EntryType, Source, InstanceID ou Message
filtrando mais a pesquisa no log faça:
Caso seja o index:
Get-EventLog -LogName NomedoLog -Index NúmeroIndex
Ex:
Verifique acima que filtrei a informação pelo index 77397.
2. Caso seja pelo EntryType:
Get-EventLog -LogName NomedoLog -EntryType “NomedoEntryType”
Ex:
Acima notamos que não há nenhuma informação de erro referente ao log de segurança.
3. Caso seja pela -InstanceID
Ex:
Acima podemos observar que foram retornados as informações que possuem o ID 4634
4. Caso seja pela message
Get-EventLog -LogName NomedoLog | Where-Object {$_.Message -match “Nome que deseja pesquisar na mensagem”}
Ex:
Acima notamos que foi retornado as informações que continha “foi efetuado o logoff de uma conta…” do log de segurança.
Mais sobre PowerShell e Windows Server: www.diegogouveia.com.br