Normalerweise würde ich FireWall verwenden, umBlockieren des Internetzugriffs einer Anwendung. Aber ich möchte mein FireWall-System nicht nur für eine Anwendung einrichten.
Was ich will, ist: eine Bat-Datei zum Starten einer Anwendung erstellen. Die Bat-Datei ähnlich wieDas.
Wenn ich die Bat-Datei ausführe, wird der Internetzugriff der Anwendung blockiert. Wenn ich die Anwendung direkt ausführe, kann die Anwendung auf das Internet zugreifen.
Ist das möglich?
Antwort1
Sie können eine Firewall-Regel hinzufügen, um den gesamten ein- und ausgehenden Datenverkehr vor dem Ausführen der Anwendung zu blockieren und die Firewall-Regeln nach dem Beenden zu deaktivieren (oder zu löschen).
Blockierungsregeln einrichten
:: Variables
set RULE_NAME=TemporaryBlock
set PROGRAM=C:\Program Files (x86)\App\app.exe
netsh advfirewall firewall add rule name="%RULE_NAME%" dir=in action=block profile=any program="%PROGRAM%"
netsh advfirewall firewall add rule name="%RULE_NAME%" dir=out action=block profile=any program="%PROGRAM%"
Führen Sie die App mit blockiertem Internet aus
@echo off
:: Variables
set RULE_NAME=TemporaryBlock
set PROGRAM=C:\Program Files (x86)\App\app.exe
:: Block the app
netsh advfirewall firewall set rule name="%RULE_NAME%" dir=in new enable=yes
netsh advfirewall firewall set rule name="%RULE_NAME%" dir=out new enable=yes
:: Running the app
start "" /wait "%PROGRAM%"
:: Disable the firewall rules
netsh advfirewall firewall set rule name="%RULE_NAME%" dir=in new enable=no
netsh advfirewall firewall set rule name="%RULE_NAME%" dir=out new enable=no
Einzelheiten
- Dokumentation:
netsh advfirewall firewall add rule -?
- Sie könnten die Regeln auch jedes Mal erstellen und löschen, wenn Sie die App ausführen, aber ich erstelle die Regeln lieber einmal und aktiviere oder deaktiviere sie dann einfach.
- Sie benötigen Administratorrechte