nota: # il tag della riga di comando non implica solo file batch, accetterò uno script PowerShell o qualsiasi utilità disponibile gratuitamente, che può essere avviata dalla riga di comando e terminare il suo lavoro incustodito.
tl; dr
come trasformare incustoditamente le regole del firewall esattamente nello stato della GUI, in Windows Vista in Windows 10 di qualsiasi linguaggio di interfaccia (display)?
Elaborare
Questa domanda è simile a # 786383 , ma non è la stessa.
Fondamentalmente, perché la risposta non è buona per me:
set rule group="remote desktop" new enable=Yes
apre la porta 3389 per le reti pubbliche e voglio evitarlo. Inoltre, diverse lingue di Windows hanno nomi di gruppi diversi, ma ho bisogno di una soluzione universale.netsh firewall set service type = remotedesktop mode = enable
non funziona neanche per me: è deprecato da win7 e consente rdp solo per la rete corrente (se sei in uno pubblico, 3389 verrà aperto per le reti pubbliche e non funzionerà successivamente nelle reti private).
Prima di abilitare RDP tramite GUI, esiste una sola regola per protocollo per RDP. Ma quando RDP è abilitato tramite GUI, la porta viene aperta solo per reti private e di dominio e le regole divise per questo. Dopo l'abilitazione, ci sono 4 regole in Windows 8+ e 2 regole (no UDP) in Windows XP, Vista e 7.
La soluzione alternativa che sto attualmente utilizzando è l'aggiunta delle mie regole:
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
ma è un male, perché (a differenza di quelli standard) possono essere modificati dall'utente, non hanno un gruppo (per lavorare con altri script) e non vengono disabilitati automaticamente quando RDP è disattivato tramite la GUI.
Screenshots
Regole del firewall prima di abilitare RDP tramite GUI per la prima volta * **
Stesse regole quando RDP è abilitato tramite GUI (stato che voglio ottenere):
E dopo aver disabilitato RDP nella GUI:
Non rivelerò l'intera storia di questa lotta con le utility della riga di comando di Windows, fino a quando qualcuno non lo chiederà. Ecco quella storia in russo .