我有一个基本的Powershell脚本,它将网络活动(tracert,nslookup,ping)记录到日志文件中。为每个新的一天创建一个新的日志文件。
我想更新脚本以保存错误发生的信息。 我有一系列可能的错误(我感兴趣),当将信息保存到日志文件时,我希望记录任何错误 - 只计算每个错误。
我可以将此表单中的错误计数保存在文本文件中: error_name count | error_name count ..等 例如: 主机不可用* 10 |请求超时* 22 ..等
所以我想说这个数组有错误:
$errors = @('error1','error2','error3')
我将结果保存到日志文件中:
tracert $server >> $logFile
nslookup $server >> $logFile
ping $server >> $logFile
我尝试将输出保存到变量并将其与数组匹配:
tracert $server >> $logFile
$data = tracert $server
if ($null -ne ($errors | ? { $data -match $_ })) {
#reading data from report file
$data = Get-Content $reportFile
$d1 = $data.split('|')
$err = @()
foreach ($item in $d) {
$count = $item.split('*')
$err += $count[1]
}
}
我无法弄清楚如何获取数组密钥以便从报告文件中读取正确的错误数,如果发生错误则可以增加错误,然后再次保存文件。也许还有其他一些更容易的解决方案? 我将不胜感激任何帮助或暗示。