28 lines
1017 B
PowerShell
Executable File
28 lines
1017 B
PowerShell
Executable File
'''
|
|
|
|
Created: 2025-03-05
|
|
Modified: 2025-03-05
|
|
Description: This script checks to ensure the DNS servers are set to the DNS servers that filter malware
|
|
|
|
'''
|
|
|
|
# Get all network adapters
|
|
$adapters = Get-NetAdapter | Where-Object { $_.Status -eq 'Up' }
|
|
|
|
# Check DNS server settings
|
|
foreach ($adapter in $adapters) {
|
|
$dnsServers = Get-DnsClientServerAddress -InterfaceIndex $adapter.InterfaceIndex
|
|
$staticDnsServers = $dnsServers | Where-Object { $_.ServerAddresses -contains '9.9.9.9' -or $_.ServerAddresses -contains '149.112.112.11' -or $_.ServerAddresses -contains '1.1.1.3' -or $_.ServerAddresses -contains '1.0.0.3' }
|
|
|
|
if ($staticDnsServers.Count -eq 0) {
|
|
Write-Host "Adapter $($adapter.Name) does not have the correct DNS servers configured."
|
|
$compliance = "false"
|
|
}
|
|
else {
|
|
Write-Host "Adapter $($adapter.Name) has the correct DNS servers configured."
|
|
$compliance = "true"
|
|
}
|
|
}
|
|
|
|
$hash = @{ Compliant = $compliance}
|
|
return $hash | ConvertTo-Json -Compress |