Powershell Get_EventLog用于多个服务器

时间:2016-12-02 18:55:01

标签: windows powershell get-eventlog

我是一名SQL DBA,对于Powershell来说是n00b,目前负责系统管理员职责

我需要在服务器中查询错误日志以查找错误和警告。

使用我自己的Google-fu和来自this帖子的帮助,我能够实现这一目标:

 $computers = Get-Content "C:\Servers\ServerList_Short.txt"; 

# QUERY COMPUTER SYSTEM EVENT LOG
foreach($computer in $computers)

{        
     Get-EventLog -ComputerName $computer -LogName System -EntryType "Error","Warning" -After (Get-Date).Adddays(-7) `
     | Select-Object -Property machineName, EntryType, EventID, TimeGenerated, Message `
     | Format-Table -Property MachineName, TimeGenerated, EntryType, Source,  Message -AutoSize ;

}

目前我缺少的是如何在我的.txt文件中捕获一个脱机服务器,忽略它并移动到下一个服务器。之后,我将努力将所有这些转储到SQL表,results.txt等

感谢您的帮助:)]

Kevin3NF

1 个答案:

答案 0 :(得分:1)

有几种不同的方法可以解决这个问题,但我建议将"playerPoints"{ "ted":{"military":3,"gold":2}, "bill":{"military":2,"gold":4} } Test-Connection合并,Try/Catch会使它只会尝试查询服务器响应ping然后Test-Connection将处理可能出现的任何其他错误。

Try/Catch