BlockHostByIP() use GetAddressIP instead ResolvDNSName to retrieve IP with hostname

This commit is contained in:
Yorick Barbanneau 2018-04-04 15:16:22 +02:00
parent 9cd6d3a7f5
commit 6151c51531
2 changed files with 8 additions and 7 deletions

View file

@ -63,14 +63,15 @@ function BlockHostByIP {
param(
[string]$hostname
)
$resolv = Resolve-DnsName $hostname -ErrorAction SilentlyContinue | select Address,Type | Where { $_.type -match "^A{1,4}$" }
$resolv = [system.net.Dns]::GetHostAddresses($hostname) | Select IPAddressToString
#$resolv = Resolve-DnsName $hostname -ErrorAction SilentlyContinue | select Address,Type | Where { $_.type -match "^A{1,4}$" }
$resolv | Foreach {
Write-Host -NoNewLine "`t`t"
if ($_.Address -match $IP4_REGEX ) { Write-Debug "Found a valid IPv4 $($_.Address)" }
$ip = $_.Address
Write-Host -NoNewLine "`t"
$ip = $_.IPAddressToString
Write-Debug "Found a valid IP $($_.IPAddressToString)"
$rule = Get-NetFirewallAddressFilter | Where-Object { $_.RemoteAddress -eq $ip } | Get-NetFirewallRule
if ( $rule ) {
write-host -NoNewLine "FW Rule exist : "
write-host -NoNewLine "`tFW Rule exist : "
write-host -ForegroundColor yellow $rule.name
}
else {