【发布时间】:2018-05-10 18:34:15
【问题描述】:
我有一个基本的 Powershell 脚本,它将网络活动(tracert、nslookup、ping)记录到日志文件中。每天都会创建一个新的日志文件。
我想更新脚本以保存错误发生的信息。 我有一系列可能的错误(我感兴趣),当将信息保存到日志文件时,我希望记录任何错误 - 只计算每个错误。
我可以将错误计数以这种形式保存在文本文件中: error_namecount|error_namecount .. 等 例如: 主机不可用*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]
}
}
我无法弄清楚的是如何获取数组键,以便从报告文件中读取正确的错误数量,如果发生错误可以增加,然后再次保存文件。也许还有其他更简单的解决方案? 我将不胜感激任何帮助或提示。
【问题讨论】:
标签: powershell logging networking