Как заблокировать IP или сайт с помощью PowerShell в Windows 10

PowerShell поставляется с модулем Netsecurity, который позволяет настраивать брандмауэр Windows . Вы можете использовать функцию — New-NetFirewallRule — в Netsecurity, чтобы заблокировать IP-адрес или веб-сайт с помощью PowerShell в Windows. Эта функция позволяет создать новое правило для входящего или исходящего брандмауэра и добавить правило на целевой компьютер.

Хотя блокировка диапазонов IP-адресов работает идеально, блокировать веб-сайт или домен сложно. Это связано с тем, что к домену может быть подключено несколько IP-адресов, и, хотя вы можете предотвратить их, распознаватель DNS может каждый раз запрашивать другой IP-адрес. Кроме того, иногда один и тот же IP-адрес может использоваться соответствующими службами, и блокирование этого IP-адреса также будет означать блокирование других служб.

  1. Блокировать локальные или интернет-IP-адреса
  2. Блокировка сайта или доменных имен

Вам понадобятся права администратора для их выполнения.

1] Блокировка IP или диапазона с помощью PowerShell

Используя эту команду, вы можете использовать один IP-адрес или диапазон IP-адресов. Выполните следующую команду в PowerShell.

New-NetFirewallRule -DisplayName "Block XYZ.com IP address" 
-Direction Outbound –LocalPort Any -Protocol TCP -Action Block 
-RemoteAddress 146.185.220.0/23 

Вы можете заменить IP-адрес Block XYZ.com на все, что вы можете вспомнить, или чтобы его было легко понять, когда вы оглядываетесь на него. IP-адрес, указанный в конце параметра RemoteAddress, будет заблокирован. Любой веб-сайт или служба, которая разрешает это, будет заблокирована. Вы можете заменить опцию RemoteAddress опцией LocalAddress, если IP является IP-адресом локальной сети.

По завершении выполнения вы должны получить сообщение о состоянии: «Правило было успешно проанализировано из хранилища. (65536)». Откройте брандмауэр Windows и проверьте, доступна ли запись. После подтверждения вы сможете добавить больше с помощью PowerShell.

2] Блокировка веб-сайта или домена с помощью PowerShell

Поскольку функция не поддерживает блокировку URL, у нас есть два варианта. Сначала необходимо запросить все возможные IP-адреса этого домена и заблокировать их. Второе — найти известные официальные диапазоны IP-адресов и заблокировать их. Последний имеет меньшие шансы случайно заблокировать другие службы по сравнению с первым. Тем не менее, если блокировка домена необходима, вы всегда можете использовать другое программное обеспечение для их блокировки.

Resolve-DnsName "facebook.com"

Обратите внимание на IP-адрес, который мы будем использовать во втором методе

New-NetFirewallRule -DisplayName "Block XYZ.com IP address" 
-Direction Outbound –LocalPort Any -Protocol TCP -Action Block 
-RemoteAddress 146.185.220.0/23

Когда я использовал это с YouTube, он не работал, хотя прямой IP был заблокирован. Когда я использовал это с Facebook, это работало. Таким образом, если веб-сайт может быть разрешен с использованием нескольких IP-адресов, этот метод не будет работать.

Использование команд PowerShell не вызывает затруднений. Если вы когда-либо использовали командную строку, это так же хорошо; Я надеюсь, что вы смогли успешно заблокировать IP или веб-сайт с помощью PowerShell в Windows. В любое время, когда вы хотите удалить их, вы можете сделать это из брандмауэра Windows или использовать команду Remove-NetFirewallRule.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.