【发布时间】:2021-08-01 15:46:48
【问题描述】:
现在我有这个hastable
Get-Content (path) |ForEach-Object {
if($_ -match '\(((?:\d{1,3}\.){3}\d{1,3})\) disconnected. (\d+) message\[s\]'){
$IP = $matches[1]
$msgCount = $matches[2] -as [int]
$SMTP[$IP] += $msgCount
}
}
我在该哈希表中的键是 IPv4 地址,为此我需要一个 Resolve-DNSname,并且最好解析的 DNS 名称应该是每个键的另一个值。是否可以这样做并在解析 Dns 名称时显示何时发生错误?
文件示例
30.11.2020 05:05:39 SMTP Server: (Servername) (255.255.255.255) disconnected. 1 message[s] received
30.11.2020 05:05:39 SMTP Server: (Servername) (255.255.254.254) disconnected. 2 message[s] received
30.11.2020 05:05:39 SMTP Server: (Servername) (255.255.255.255) disconnected. 4 message[s] received
30.11.2020 05:05:39 SMTP Server: (Servername) (255.255.234.245) disconnected. 4 message[s] received
30.11.2020 05:05:40 SMTP Server: (Servername) (255.255.253.244) disconnected. 1 message[s] received
30.11.2020 05:05:41 SMTP Server: (Servername) (255.255.255.255) disconnected. 46 message[s] received
30.11.2020 05:05:41 SMTP Server: (Servername) (255.255.234.245) disconnected. 13 message[s] received
【问题讨论】:
-
请向我们展示您正在解析的文件的示例。
disconnected后面的点应该用反斜杠转义。 -
@Theo 编辑了帖子
标签: powershell hashtable