Remarque: # la balise de ligne de commande n'implique pas uniquement un fichier de commandes, j'accepterai un script PowerShell ou tout autre utilitaire disponible gratuitement, qui peut être démarré à partir de la ligne de commande et terminer son travail sans surveillance.
tl; dr
comment transformer sans surveillance des règles de pare-feu exactement pour que GUI l'exprime, sur Windows Vista vers Windows 10 de n'importe quelle langue d'interface (affichage)?
Élaborer
Cette question est similaire à # 786383 , mais ce n'est pas la même chose.
Fondamentalement, parce que la réponse n'est pas bonne pour moi:
set rule group="remote desktop" new enable=Yes
ouvre le port 3389 pour les réseaux publics, et je veux éviter cela. De plus, différentes langues Windows ont des noms de groupe différents, mais j'ai besoin d'une solution universelle.netsh firewall set service type = remotedesktop mode = enable
ne fonctionne pas non plus pour moi: il est obsolète depuis win7 et n'autorise le rdp que pour le réseau actuel (si vous en êtes un public, 3389 sera ouvert pour les réseaux publics et ne fonctionnera pas dans les réseaux privés par la suite).
Notez qu'avant que RDP soit activé via l'interface graphique, il n'y a qu'une seule règle par protocole pour RDP. Mais lorsque RDP est activé via l'interface graphique, le port n'est ouvert que pour les réseaux privés et de domaine, et les règles sont divisées pour cela. Après l'activation, il existe 4 règles dans Windows 8+ et 2 règles (pas UDP) dans Windows XP, Vista et 7.
La solution de contournement que j'utilise actuellement ajoute mes propres règles:
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
mais c'est mauvais, car (contrairement aux standards) ils peuvent être modifiés par l'utilisateur, n'ont pas de groupe (pour travailler avec d'autres scripts), et ne sont pas automatiquement désactivés lorsque RDP est désactivé via l'interface graphique.
Captures d'écran
Règles de pare-feu avant d'activer RDP via GUI pour la première fois * **
Mêmes règles lorsque RDP est activé via l'interface graphique (état que je souhaite obtenir):
Et après avoir désactivé RDP dans l'interface graphique:
Je ne raconterai pas toute l'histoire de ce combat avec les utilitaires de ligne de commande Windows, jusqu'à ce que quelqu'un le demande. Voici cette histoire en russe .