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 .
la source
Réponses:
ou
la source
netsh firewall
est obsolète (depuis win7), ne fonctionne pas dans Win10 et autorise le rdp pour le réseau actuel uniquement (si vous êtes dans un réseau public, le rdp sera autorisé pour les réseaux publics et ne fonctionnera pas dans les réseaux privés par la suite). Ceci est noté dans l'histoire originale, je pensais juste que ça ne valait pas la peine d'être mentionné en question. Je vais réparer ce défaut.netsh firewall
qu'en effet obsolète, fonctionne toujours dans Windows 10 (testé sur Pro).Si je comprends bien la question, cela vous donnera ce que vous voulez. Voici PowerShell:
Cela filtrera les règles et récupérera les noms de règles corrects indépendamment du langage. Il le fait en filtrant sur le port 3389 et en trouvant la règle associée à "Domaine et réseaux privés".
Profiles -eq 3
est le masque bitmap pour les réseaux privés et de domaine, vous pouvez voir la référence ici:https://msdn.microsoft.com/en-us/library/windows/desktop/aa366303(v=vs.85).aspx
Où 1 (réseaux de domaine) + 2 (réseaux privés) = 3
Voici le lien MSDN où j'ai compris le reste:
https://msdn.microsoft.com/en-us/library/windows/desktop/aa365309(v=vs.85).aspx
Et voici comment j'ai compris quelles étaient les propriétés et les méthodes des autres objets:
la source
)}
Si vous recherchez une solution PowerShell, les éléments suivants peuvent être utilisés:
la source
Les commandes cmd suivantes ..
et
ne sont pas suffisants pour activer le bureau à distance.
J'ai dû ajouter celui-ci pour le faire fonctionner (Client: Windows 10).
la source