Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Windows Server 2016/2019/2022 (http://forum.oszone.net/forumdisplay.php?f=119)
-   -   netsh advfirewall firewall - не находит правило по имени (http://forum.oszone.net/showthread.php?t=343684)

__sa__nya 16-01-2020 04:07 2905250

netsh advfirewall firewall - не находит правило по имени
 
Доброе время суток. Имеется Windows Server Standard 2016, имеется брандмауэр и некоторые стандартные правила. Нужно выключить некоторое правило, например "Удаленный рабочий стол - пользовательский режим (входящий трафик UDP)". При написании команды выключения ( уже в контексте netsh advfirewall firewall):
>set rule name="Удаленный рабочий стол - пользовательский режим (входящий трафик UDP)" new enable=no
Получаю ошибку "Ни одно правило не соответствует указанным критериям."
Разбираясь в проблеме, вижу, что netsh в принципе не "видит" это правило по имени:
Пишу в контексте cmd "netsh advfirewall firewall show rule name=all | find "Удаленный рабочий стол"
- получаю 3 строчки, копирую результат "Удаленный рабочий стол - пользовательский режим (входящий трафик UDP)",
пишу (уже в контексте netsh advfirewall firewall) show rule name="Удаленный рабочий стол - пользовательский режим (входящий трафик UDP)"
- получаю "Ни одно правило не соответствует указанным критериям."
Думаю что может попробовать в контексте cmd, пишу в cmd "netsh advfirewall firewall show rule name="Удаленный рабочий стол - пользовательский режим (входящий трафик UDP)"
- получаю ту же ошибку
- Почему так ?

Ageron 16-01-2020 08:19 2905256

посмотрите через powershell

Get-NetFirewallRule | where {($_.displayname -match 'Удаленный рабочий')} | ft

существует ли это правило, скорее всего написано не правильно

Denis Dyagilev 16-01-2020 10:37 2905271

А если использовать
Цитата:

netsh advfirewall firewall set rule dir=in name="Remote Desktop - User Mode (UDP-In)" new enable=no
или в PowerShell
Цитата:

Disable-NetFirewallRule -DisplayName "RemoteDesktop-UserMode-In-UDP"
?

paranoya 16-01-2020 17:42 2905339

:)
Это же МС, из-за их локализации там где не надо, такие вещи не работают.
Зато работают такие: netsh advfirewall firewall show rule name="@FirewallAPI.dll,-28780"

Upd. Если имя правила начинается с латинской буквы и содержит русские, то такие правила отображаются через show rule. Как пример: "Secure Socket Tunneling Protocol (SSTP-входящий)"

__sa__nya 16-01-2020 18:12 2905343

Ageron, правило точно существует, т.к. команда "netsh advfirewall firewall show rule name=all | find "Удаленный рабочий стол" показывает правило.
Denis Dyagilev, - "Ни одно правило не соответствует критериям" - по netsh
Хотел использовать netsh, PowerShell неудобно для этих команд.
paranoya, - ни одно правило не соответствует указанным критериям.
Я тоже думаю что из-за локализации, как говорится "Не читайте советскую прессу" :-). Посмотрю можно ли в Windows Core сменить локализацию, и сменятся ли при этом названия правил в брандмауэре.

Ageron 17-01-2020 08:26 2905404

Вложений: 1
Цитата:

Цитата __sa__nya
правило точно существует, т.к. команда "netsh advfirewall firewall show rule name=all | find "Удаленный рабочий стол" показывает правило. »

вот, смотри

Ageron 17-01-2020 08:34 2905405

Длинное тире — : Alt + 0151
Короткое (среднее) тире – : Alt + 0150

paranoya 17-01-2020 09:53 2905415

__sa__nya, я проверял на Win10, значит на сервере 2016 другая строка стоит.
Ageron, на ноутбуке c win10 без вариантов такое набрать. Через charmap копируешь нужное, но вставляется в консоль обычный дефис. Работает только через bat-файл.

__sa__nya 17-01-2020 13:58 2905467

Ageron, с длинным тире работает. Интересно ( и одновременно злит) то, что когда смотришь это правило через вывод show rule name - там тире недлинное. В общем, либо MS, либо команда ответственная за перевод ОС на русский накосячила.

Iska 17-01-2020 16:32 2905510

Коллеги, на всякий случа́́й: «рулят» подходящие шрифты и/или вывод в файл с последующим просмотром кодов выведенных символов.

__sa__nya 18-01-2020 06:13 2905594

Цитата:

Цитата Iska (Сообщение 2905510)
Коллеги, на всякий случа́́й: «рулят» подходящие шрифты и/или вывод в файл с последующим просмотром кодов выведенных символов.

Iska, можно подробнее про "последующий просмотр кодов символов"

Iska 18-01-2020 16:31 2905672

Hex-dump, любой hex-редактор, любой редактор, умеющий показывать коды символов (я пользую Far Manager):
Скрытый текст




Как я понимаю, в Вашем примере, на всякий случай, ещё желательно перенаправление вывода в файл делать из-под консоли PowerShell'a, а не cmd.exe, потому как в кодировке OEM/866 есть только «-», и нет ни «–», ни «—».

__sa__nya 19-01-2020 16:35 2905792

Iska, все равно не понял, что анализировать hex-редактором, что за дамп ? Можете объяснить "для тех кто на бронепоезде" более подробно :-)
Кстати, мне было интересно, где кроется косяк MS. Поставил английскую версию OS, там команды по поиску правил по имени отрабатывают без проблем, указанных в шапке темы, все с обычными пробелами. В общем ошибку допустили локализаторы ОС на русскую. Надо было сразу ставить английскую версию, частично сам допустил ошибку.

paranoya 20-01-2020 11:53 2905882

__sa__nya,
Имена "Удалённый рабочий стол бла-бал-бла" лежат как сторковые ресурсы в .dll. В самом правиле фаервола написано (в моём случае) имя="@FirewallAPI.dll,-28780", то есть, идёт подстановка и в имя правила подставляется ресурс -28780, а это как раз и есть строка на русском с тире вместо дефиса. В английской версии нет локализации, поэтому там поиск идёт нормально. В русском версии Винды есть локализация, но она сделана по правилам русского языка с тире, а не по правилам "компьютерного языка", где вместо тире используется дефис, так как знака тире нет на клавиатуре.
Самый простой способ - взять любой "dll resoure viewer" и открыть им файл FirewallAPI.dll и найти в нём строки "Удалённый рабочий стол ...."

__sa__nya 22-01-2020 17:35 2906289

paranoya, спасибо. По мне, самый простой способ, если ставить Windows Server, на котором пользователи не будут работать терминально, лучше ставить редакцию на английском языке, чтобы в принципе подобные проблемы исключить :-)


Время: 16:29.

Время: 16:29.
© OSzone.net 2001-