Мне интересно, сталкивался ли кто-нибудь в Microsoft с такой ситуацией, когда он не может вспомнить название правила! Принимает только 1 имя и не соответствующий шаблона объекта не доступен на Netsh , чтобы помочь найти правила с помощью шаблона , как или с
помощью шоу , и можно перечислить все правила , но я не смог найти прочный командную строку Grep инструмент для окон. netsh advfirewall firewall show rule
"SQL*"
^SQL.+$
name=all
Я хочу быть в состоянии выполнить команду как это:
netsh advfirewall firewall show rule name=sql*
Это возможно?
find
windows-firewall
netsh
Ахиллес
источник
источник
netsh advfirewall firewall show rule name=all | find "SQL"
; но результат и контроль не так удовлетворительны, как это должно быть. Это довольно грязно и даже хуже, с учетом регистра .../I
сFIND
командой, я могу уклониться от проблемы с учетом регистра; но результат все еще грязный ...Ответы:
В PowerShell запустите:
еще лучше:
источник
$fw.Rules | where-object {$_.Enabled -eq $true -and $_.Direction -eq 1} | Select-Object -property name, direction, enabled
New-Object
командлет PowerShell, обеспечивающий доступ к более старому COM API, сохраняя при этом синтаксис PowerShell и структуру объектов.Это лучшее, что я мог сделать. Кто-нибудь знает, как продвинуться дальше? Как удалить / вычесть имя правила из результатов?
источник
В Windows 10 при выполнении я получаю предупреждение о
netsh advfirewall
том, что будущие версии Windows могут больше не поддерживать эту функцию и вместо этого следует использовать PowerShell. К счастью, то, что хотел сделать OP, легко в PowerShell:Get-NetFirewallRule -DisplayName "SQL*"
У меня было более 1000 правил брандмауэра, которые были созданы исполняемым файлом со случайным именем, который я хотел удалить. Следующая команда сделала это легко:
Remove-NetFirewallRule -DisplayName "*mongod.exe"
источник
Вы можете попробовать Select-String :
источник
Без PowerShell вы можете просто использовать регулярные выражения с findstr:
источник
По общему признанию, это - ответ на вопрос, но комментарий затеняет суть.
Это также по общему признанию отвечает на немного другой вопрос: как я могу не использовать
netsh
и все еще находить правила? :-)Я думаю, что лучше остаться в идиоме PowerShell, если вы уже там, и вы можете использовать возможность полного сопоставления с образцом, включая регулярные выражения в нем.
Ради этого я включил некоторые условные выражения и мутацию, чтобы показать, как все конструкции PowerShell встраиваются в блоки функционального стиля.
Последнее предостережение о том, что мутации должны выполняться с правами администратора там, где не требуется чтение.
источник