Windows Firewall Ordner Blockieren

PhiKay

Cadet 1st Year
Registriert
Juni 2016
Beiträge
15
Guten Tag,

Ich würde gerne den Internetzugang für einen kompletten Ordner und dessen Unterordner sperren. Ist dies irgendwie möglich? Ich habe gehört dies sei mit einer .batch Datei möglich.

Ich benutze Windows 10 64-Bit
 
bitte was ?

was du schreibst macht null sinn...
nimm dir mehr zeit als nur 2 zeilen und beschreibe, detailliert, was du machen willst
 
Naja, er meint wohl für die *.exe Dateien in den Unterordnern. (Das erste was mir da einfällt ist ein Ordner wo alle gekeksten Spiele abgelegt werden ;P)

Mit Windows-Bordmittteln wäre mir das nicht bekannt.
 
Ja, genau soetwas meine ich, dass allen *.exe Dateien den Internetzugang blockiert.
 
Gehe in die erweiterten Einstellungen der Firewall. Da kannst Du dann entsprechend die Programme hinterlegen.
 
Hmm, dann muss ich jedes Programm einzeln blockieren.

Trotzdem, danke.
 
Du könntest ein Powershell Script oder eine Batch Datei dafür nutzen.
Stichwort NETSH
 
Ja, genau soetwas meine ich, dass allen *.exe Dateien den Internetzugang blockiert.

welchen Sinn soll das bitte machen?Keiner der nicht ausgeführten msi exe baut mal ebend eine Verbindung mit dem Internet auf :rolleyes:
 
Hab hier mal was gebastelt. (Batch und Powershell Script)

https://drive.google.com/open?id=0B3-sAUhZN4TkVXBhRzhjUXh6WWs

Die Batch-Datei mit rechtsklick bearbeiten und dann den Pfad zum Ordner eintragen, der durchsucht werden soll. Anschliessend wird im Ordner, wo die Skripte liegen eine .txt erstellt mit den .exe Namen. Das Powershellscript erstellt dann praktisch für jede *.exe in der Textdatei eine Blockregel.

Wichtig: Die Batch MUSS als Admin ausgeführt werden.

Hier der Code:

Batch

cd /d "%~dp0"
echo Ordner und Unterordner nach *.exe durchsuchen und Pfadangaben in eine Textdatei, zeilenweise, abspeichern
dir /s /b "C:\PFADZUMORDNER\*.exe">Programme.txt

powershell.exe -executionpolicy remotesigned -file autofirewallrule.ps1

pause
exit


Powershell
#Einlesen der .exe-Dateien in Variable
$programs = get-content -path Programme.txt

#Erstellen der Firewallregel mit NETSH und ForEach
$a = 1
ForEach ($pgr in $programs) {
netsh advfirewall firewall add rule name="AutoProgrammRegel$a" dir=out action=block program=$pgr enable=yes
$a++
}


Hoffe das bringt dir was ;) eigentlich wollte ich dir nur kurz was basteln, hat jetzt doch fast ne Stunde gedauert :o:D

LG
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Fabian_otto, BOB52 und DerChaos
Der Sinn und Zweck erschließt sich mir nicht. Warum willst du das machen? Das klingt ziemlich merkwürdig. Normalerweise macht man das einzeln, weil man in der Firewall explizit definiert wer was darf bzw nicht darf. Pauschal einen Ordner reglementieren klingt wenig sinnvoll. Was ist das für ein Ordner bzw was für Programme?
 
Ich kann mir schon vorstellen, dass es in gewissen Szenarien sinnvoll ist, ich selbst hätte es schon manches mal brauchen können. Es gibt zum Beispiel manche Unternehmenssoftware, z.B. ERP-Systeme, die sehr viele Teilprogramme in eigene .exen auslagern. Da ist man schonmal bei 20 Regeln händich am erstellen. Oder wie gesagt, wenn man einen automatismus haben möchte, um Games aus seinem "Crackverzeichnis" von der Kommunikation nach Hause zu blocken :D

Der Hauptgrund, warum ich das Script geschrieben habe, war, dass ich das wohl selbst für erst genannten Zweck nutzen werde. Eigentlich eine coole Sache.
 
Hm.. Ok, das mit den Subprogrammen kann ich nachvollziehen. Das mit den gecrackten Games sollte man nicht zu laut sa... schreiben ;-)
 
@^Dodo.bW, danke!

Nach der Pfadanpassung funktionierte der Script einwandfrei. Ich hatte erst angenommen, dass man das Script im betreffenden Ordner direkt ausführen kann.

Viele Grüße!
 
Anfänger hier. Habs tatsächlich noch geschafft das Tool zu benutzen, es ist sehr gut. Lieben Dank. Hab aber knapp 3 Stunden gebraucht statt 3 Minuten, weil null Ahnung von Kommandozeilen. Damit andere Anfänger*innen es ggf. einfacher haben, hier eine Ergänzung der Anleitung:

In der Batchdatei muss der Dateipfad zwischen die "", aber vor dem zweiten Anführungszeichen muss \*.exe stehen.
Dann ausführen, dann erscheint die Textdatei "Programme.txt" mit der EXE-Liste.

In der PowerShell Datei muss (hierfür habe ich seeehr lange gebraucht) dann auch noch was geändert werden. Nämlich muss in die zweite Zeile zwischen -path und Programme.txt nochmal der Dateipfad, wo sich letztere und die Powershelldatei selbst befindet, rein. Also ....-path C/blablabla/Programme.txt

Weiterer (notwendiger) "Trick": Man kann die Powershell datei nicht rechtsklicken und als Admin ausführen, wie nötig. Außerdem muss man in Powershell erst die Berechtigung, Skripte überhaupt auszuführen einstellen. Für beide Probleme gibts hier ne lösung: https://www.tech-faq.net/powershell-skript-ausfuehren/

Falls das offline geht:
EInfach die Idiotenvariante von Powershell benutzen: PowerShell ISE. Die kann man mir Rechtsklick als Admin ausführen. Darin gibts ein Interface mit dem man dann die auszuführende Powershelldatei suchen kann, ganz normal mit Ornerklickerei und ohne Befehle eingeben zu müssen.

Dann nur noch
Set-ExecutionPolicy "unrestricted" -force
eingeben und oben auf Play clicken.
 
Zurück
Oben