Мне нужно вытащить файл журнала, который содержит список IP-адресов в журнале windows с некоторыми другими вещами. Я понял, как отфильтровать его до IP-адреса, но я изо всех сил пытаюсь преобразовать его в объект IP-адреса, чтобы я мог отфильтровать записи IPv6.
В производстве я буду использовать что-то вроде это, чтобы получить журнал:
$log = Get-Eventlog -Logname ABC -Source WIN-ABC -Newest 1 -ErrorAction stop
.txt или файл журнала выглядит так:
Compare-DomainControllers
Customer.local
192.168.1.100
192.168.1.101
192.168.1.102
2580:83:0:f2e:b25a:625f:c254:eb29
10.10.10.20
etc...
То, что у меня есть сейчас при тестировании:
$IPFullList = Get-content -path .\test.txt (Fake Log File)
$IPOnly = $IPFullList | Select-String -match "[0-9]"
Это возвращает список только элементов IPv4 и IPv6, но я надеюсь взять этот список и преобразовать записи в [IPAddress] объекты, чтобы я мог отфильтровать элементы IPv6.
Я пробовал:
ConvertFrom-String -Inputobject $IPOnly
и:
Foreach ($IP in IPOnly){
[IPaddress] | Where-Object {$_.Type -ne "AAAA"} | Write-Host
}
Кажется, никто из них не помогает. Будем признательны за любые идеи или предложения!