Observação: a tag da linha de comando não implica apenas em lote, aceitarei um script do PowerShell ou qualquer utilitário disponível gratuitamente, que pode ser iniciado na linha de comando e concluir seu trabalho sem supervisão.
tl; dr
como transformar autonomamente as regras de firewall exatamente para indicar a GUI, no Windows Vista para o Windows 10 de qualquer idioma da interface (exibição)?
Elaboração
Esta pergunta é semelhante à # 786383 , mas não é a mesma.
Basicamente, porque a resposta não é boa para mim:
set rule group="remote desktop" new enable=Yes
abre a porta 3389 para redes públicas e quero evitar isso. Além disso, idiomas diferentes do Windows têm nomes de grupos diferentes, mas eu preciso de uma solução universal.netsh firewall set service type = remotedesktop mode = enable
também não está funcionando para mim: está obsoleto desde o win7 e permite rdp somente para a rede atual (se você estiver em uma pública, o 3389 será aberto para redes públicas e não funcionará em redes privadas posteriormente).
Observe que, antes de o RDP ser ativado via GUI, há apenas uma regra por protocolo para o RDP. Mas quando o RDP é ativado via GUI, a porta é aberta apenas para redes privadas e de domínio, e as regras são divididas para isso. Após a ativação, existem 4 regras no Windows 8+ e 2 regras (sem UDP) no Windows XP, Vista e 7.
A solução alternativa que estou usando no momento está adicionando minhas próprias regras:
netsh.exe advfirewall firewall add rule name="Remote Desktop - User Mode (TCP-In)" dir=in action=allow program="%%SystemRoot%%\system32\svchost.exe" service="TermService" description="Inbound rule for the Remote Desktop service to allow RDP traffic. [TCP 3389] added by LogicDaemon's script" enable=yes profile=private,domain localport=3389 protocol=tcp
netsh.exe advfirewall firewall add rule name="Remote Desktop - User Mode (UDP-In)" dir=in action=allow program="%%SystemRoot%%\system32\svchost.exe" service="TermService" description="Inbound rule for the Remote Desktop service to allow RDP traffic. [UDP 3389] added by LogicDaemon's script" enable=yes profile=private,domain localport=3389 protocol=udp
mas isso é ruim, porque (ao contrário dos padrões) eles podem ser modificados pelo usuário, não têm grupo (para trabalhar com outros scripts) e não são desativados automaticamente quando o RDP é desativado via GUI.
Screenshots
Regras de firewall antes de ativar o RDP via GUI pela primeira vez * **
Mesmas regras quando o RDP é ativado via GUI (estado que desejo obter):
E depois de desativar o RDP na GUI:
Não vou recontar toda a história dessa luta com os utilitários de linha de comando do Windows, até que alguém pergunte. Aqui está essa história em russo .