Browse Source

Make the script idempotent

pull/29/head
Angel Ramboi 9 years ago
parent
commit
c59f57ff8f
  1. 10
      scripts/disable-telemetry.ps1

10
scripts/disable-telemetry.ps1

@ -7,18 +7,24 @@ Import-Module -DisableNameChecking $PSScriptRoot\..\lib\reg-helper.psm1
echo "Adding telemetry domains to hosts file"
$hosts = cat "$PSScriptRoot\..\res\telemetry-hosts.txt"
$hosts_file = "$env:systemroot\System32\drivers\etc\hosts"
[ipaddress[]] $ips = @()
foreach ($h in $hosts) {
try {
# store for next part
$ips += [ipaddress]$h
} catch [System.InvalidCastException] {
# can be redirected by hosts
echo "0.0.0.0 $h" | Out-File -Encoding ASCII -Append "$env:systemroot\System32\drivers\etc\hosts"
$contaisHost = Select-String -Path $hosts_file -Pattern $h
If(-Not $contaisHost) {
# can be redirected by hosts
echo "0.0.0.0 $h" | Out-File -Encoding ASCII -Append $hosts_file
}
}
}
echo "Adding telemetry ips to firewall"
Remove-NetFirewallRule -ErrorAction SilentlyContinue -DisplayName "Block Telemetry IPs"
New-NetFirewallRule -DisplayName "Block Telemetry IPs" -Direction Outbound `
-Action Block -RemoteAddress ([string[]]$ips)

Loading…
Cancel
Save