у меня есть сценарий PowerShell, который добавляет IP-адреса в Брандмауэр Windows с помощью команды "netsh advfirewall". (Как описано в этом вопросе:как добавить правила брандмауэра netsh, а не просто заменить).
проблема в том, что при добавлении большого количества IP-адресов (в настоящее время более 700) строка IP-адресов в какой-то момент кажется "отрезанной".
Только X количество общего количества IP-адресов фактически добавляются к брандмауэру, остальные... не.
скрипт очень простой и выглядит примерно так:
$ip = "123.123.123.123,124.124.124.124,125.125.125.125 and so on"
netsh advfirewall firewall set rule name="*" new remoteip="$ip"
Я пытался повторить строку, чтобы увидеть, если он отрезан;
echo $ip
но полная строка корректно отражается эхом.
есть ли какой-то предел длины строки для команды netsh? Или что-нибудь еще, что может быть причиной этой проблемы?
Edit
Я сделал еще несколько исследований, и кажется, что строка не " вырезать выкл. Я переставил IP-строку в порядке возрастания, и последний IP-адрес строки был добавлен в брандмауэр. Поэтому я полагаю, что могу заключить, что нет какого-то ограничения строки.
однако случайные IP-адреса опущены. Я написал несколько сценариев отладки, чтобы выяснить, что происходит, один из этих сценариев генерирует список IP-адресов, которые находятся в IP-строке (и, следовательно, должны быть в брандмауэре), но не присутствуют в брандмауэре.
Оказывается, что это просто опуская случайные IP-адреса... и я понятия не имею, почему...
IP-адресов, которые были опущены прекрасно IP-адресов, хотя (не колеблется ни чего, просто обычный IP-адресов).
какие идеи?