Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Тонкая настройка брандмауэра Windows

Модерирует : KLASS, IFkO

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

KLASS



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Создайте новый текстовый документ, вставьте в него нижеследующий код, сохраните документ и измените расширение файла на .ps1 (PowerShell).

Код:
 
function Export-NetshNetFirewallRule {
 [CmdletBinding()]
 
 Param(
    [Parameter(Mandatory=$true,ValueFromPipeline=$true)]
    [CimInstance[]] $Rule
 )
 
 process {
        $Name = $($psitem.DisplayName)
        $Direction = $($psitem.Direction) -replace 'bound',''
        $Action = $psitem.Action
        $Profile = $psitem.Profile -replace ', ',','
        $Program = ($psitem | Get-NetFirewallApplicationFilter).Program
        $Protocol = ($psitem | Get-NetFirewallPortFilter).Protocol
        $Remoteport = ($psitem | Get-NetFirewallPortFilter).RemotePort -join ','
    $Localport = ($psitem | Get-NetFirewallPortFilter).LocalPort -join ','
        $Remoteip = ($psitem | Get-NetFirewallAddressFilter).RemoteAddress -join ','
 
        #netsh нужны двойные кавычки
        $Doublequote='#'
 
        $result = "netsh advfirewall firewall add rule name=#$Name# dir=$Direction action=$action profile=$Profile program=#$Program# protocol=$Protocol remoteport=$Remoteport localport=$Localport remoteip=$Remoteip"
        $netsh = $result -replace $Doublequote,'"'
 
        $netsh
 }
}
 
#Какие правила выделите в GUI-окне PowerShell, те команды добавления правил и будут экспортированы в консольное окно PowerShell.
#Строка получает правила брандмауэра, отфильтрованные по заданным ключам (в данном примере ('*') означает все правила). Командлет Get-NetFirewallRule содержится в модуле NetSecurity начиная с Windows 8.1. Командлет Out-GridView -PassThru выводить GUI-окно с правилами брандмауэра.
$rules = Get-NetFirewallRule -DisplayName '*' | Out-GridView -PassThru
#Командлет Export-NetshFirewallRule берёт массив правил брандмауэра, выбранных в GUI-окне, и передаёт (экспортирует) их в текстовом формате для команды netsh в консольное окно PowerShell.
$rules | Export-NetshNetFirewallRule
 

Для удобства запуска сценариев PowerShell выполните следующий reg-файл, который добавит пункты: Запуск от имени администратора и Запуск с обычными правами в контекстное меню файлов .ps1 (PowerShell). При этом если у вас запрещено выполнение сценариев в системе (по умолчанию), сценарии PowerShell будут выполняться.

Код:
 
Windows Registry Editor Version 5.00
 
[HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell]
 
[HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\PowershellUser]
"HasLUAShield"=""
"Icon"="powershell.exe"
"MUIVerb"="Запуск с обычными правами"
 
[HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\PowershellUser\command]
@="powershell.exe -NoProfile -NoExit -ExecutionPolicy Bypass -File \"%1\""
 
[HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\runas]
"HasLUAShield"=""
 
[HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\runas\command]
@="powershell.exe -NoProfile -NoExit -ExecutionPolicy Bypass -File \"%1\""
 
 

 
Запускаем файл сценария от имени администратора по ПКМ. Появятся два окна:
 
 

Всего записей: 11118 | Зарегистр. 12-10-2001 | Отправлено: 20:59 05-03-2017 | Исправлено: WildGoblin, 13:05 15-06-2022
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Тонкая настройка брандмауэра Windows


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru