2015-02-19 4 views
1

с помощью командной строки для изменения брандмауэра Windowsизменить Брандмауэр Windows с командной строки

может я позволить Доменные/Public/Частные галочками все в той же строке (как я могу сделать вручную, нажав)?

то, что я до сих пор делает 3 записи, одна галочка для каждого типа:

Netsh advfirewall брандмауэра добавить имя правила = "MyApp" реж = в действии = разрешить программе = "C: \ MyApp.exe "включить = да профиль = домен

Netsh advfirewall брандмауэра добавить имя правила =" MyApp»реж = в действии = разрешить программе = "C: \ MyApp.exe" включить = да профиль = общественный

Netsh брандмауэра advfirewall add rule name = "MyApp" dir = in action = allow program = "C: \ MyApp.exe" enable = yes profile = private

ответ

1

Вот что вы можете сделать, чтобы решить эту проблему:

profile=Private and/or public and/or domain 
(To add rule in more than one profile use “,” E.g.: profile=private, domain) 
2

Попробуйте это:

@echo off 
setlocal 

set "fcmd=netsh advfirewall firewall add rule name="MyApp" dir=in action=allow program="C:\MyApp.exe" enable=yes profile=" 
for %a in (domain public private) do (
    echo %fcmd%%a 

Если вы хотите, чтобы запустить его в пакетном файле, просто удвоили% 's на% а до %% а. Удалите эхо, когда вы проверяете приемлемый выход.

И только аккуратные вещи немного:

@echo off 
setlocal 

set fcmd=netsh advfirewall firewall add rule^
name="MyApp" dir=in action=allow program="C:\MyApp.exe"^
enable=yes profile= 
for %a in (domain public private) do (
    echo %fcmd%%a 
) 
+0

высоко ценится – Dito