Você pode usar o PowerShell e uma tarefa agendada para realizar isso. Novas regras de firewall podem ser criadas com o cmdlet New-NetFirewallRule . Sua regra provavelmente ficaria assim:
New-NetFirewallRule -DisplayName "name" -Direction Inbound -LocalPort 80 -Protocol TCP -RemoteAddress $IPs -Action Allow | Out-Null
Você terá que colocar seus endereços IP permitidos em uma matriz (veja a variável $ IPs) para que isso funcione. Naturalmente, essa parte do script depende do layout do seu arquivo de texto. Se o seu arquivo se parece com isso:
8.8.8.8
8.8.4.4
Em seguida, o seguinte código cortado deve funcionar:
$IPs = Get-Content -Path "Path\to\file.txt"
New-NetFirewallRule -DisplayName "name" -Direction Inbound -LocalPort 80 -Protocol TCP -RemoteAddress $IPs -Action Allow | Out-Null
Para atualizar a regra, você pode excluí-la e recriá-la com o conjunto de endereços IP usando o cmdlet Remove-NetFirewallRule, usando o nome de exibição como identificador.
Remove-NetFirewallRule -DisplayName "name"
Ou você pode usar o cmdlet Set-NetFirewallRule para modificar sua regra existente com o mesmo conjunto de parâmetros.