Pare-feu : bloquer tout les programmes d'un dossier
Résolu
Matt
-
Fenrisulfr01 Messages postés 17 Statut Membre -
Fenrisulfr01 Messages postés 17 Statut Membre -
Bonjour,
Je souhaite, depuis le pare-feu Windows 7, bloquer l’accès internet de tout les programmes .exe d'un dossier.
En effet je souhaite bloquer une liste de X programmes dans le dossier C:\Program Files\"DOSSIER"
Aucun problème pour bloquer les .exe un par un mais c'est vraiment très long !
Avez-vous une solution rapide ?
Merci d'avance !
Je souhaite, depuis le pare-feu Windows 7, bloquer l’accès internet de tout les programmes .exe d'un dossier.
En effet je souhaite bloquer une liste de X programmes dans le dossier C:\Program Files\"DOSSIER"
Aucun problème pour bloquer les .exe un par un mais c'est vraiment très long !
Avez-vous une solution rapide ?
Merci d'avance !
16 réponses
-
Non, il n'accepte pas d'avoir dir=in et dir=out.
Toutefois vous pouvez refaire l'ensemble en laissant juste dir=in.-
J'ai rajouté une ligne et ca fonctionne nickel
cd "C:\Program Files (x86)\Common Files\Gestionnaire d'installation SOLIDWORKS"
$appli = ls * -recurse | where {$_.name -like "*.exe"}
foreach ($app in $appli)
{
$name = $app.name
$path = $app.fullname
netsh adv firewall add rule name=$name dir=in action=block program=$path
netsh adv firewall add rule name=$name dir=out action=block program=$path
}
Merci pour votre aide !
-
-
Bonjour,
Pour faire ce dont tu as besoin, je te propose un petit block powershell.
Tu dois donc exécuter powershell en mode administrateur.
Ensuite tape ceci :cd "ton dossier"
$appli = ls *.exe
foreach ($app in $appli)
{
$name = $app.name
netsh adv firewall add rule name=$name dir=out action=block program=$app.fullpath
}
Où ton dossier est l'emplacement où sont tes applications que tu veux bloquer.
Ceci va créer une règle avec comme nom, le nom de ton application, qui va bloquer le trafic sortant.-
Bonjour,
Merci beaucoup pour cette réponse.
En gros je dois taper tout simplement ceci ? :
cd C:\Program Files\"DOSSIER"
$appli = ls *.exe
foreach ($app in $appli)
{
$name = $app.name
netsh adv firewall add rule name=$name dir=out action=block program=$app.fullpath
}
Ce code bloque donc tout le trafic sortant de TOUTES les applications dans C:\Program Files\"DOSSIER" ?
Et si je souhaite désactivé ce blocage ?
Encore merci !
-
-
En effet, au temps pour moi.
Allez, on change encore une fois :)
cd "C:\Program Files (x86)\Common Files\Gestionnaire d'installation SOLIDWORKS"
$appli = ls * -recurse | where {$_.name -like "*.exe"}
foreach ($app in $appli)
{
$name = $app.name
$path = $app.fullname
netsh adv firewall add rule name=$name dir=out action=block program=$path
}
Cette fois devrait être la bonne-
Merci, ça à l'air de marcher à merveille !
est-il possible d'ajouter aussi une restriction en trafic entrant ?
du style
cd "C:\Program Files (x86)\Common Files\Gestionnaire d'installation SOLIDWORKS"
$appli = ls * -recurse | where {$_.name -like "*.exe"}
foreach ($app in $appli)
{
$name = $app.name
$path = $app.fullname
netsh adv firewall add rule name=$name dir=in dir=out action=block program=$path
}
-
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonjour,
Si le dossier dont il est question s'appelle exactement "DOSSIER" (avec les guillemets, la première commande estcd 'C:\program Files\"DOSSIER"'
Ensuite, j'ai vu une erreur sur la deuxième ligne : il faut ajouter -recurse à la fin. Ce qui donne :$appli = ls *.exe -recurse
Oui, ce code bloque le trafic d'absolument tous les fichiers .exe du dossier C:\program Files\"DOSSIER".
Pour supprimer toutes les règles précédemment créées, utilise ce code de la même manière :cd 'C:\program Files\"DOSSIER"'
$appli = ls *.exe
foreach ($app in $appli)
{
$name = $app.name
netsh adv firewall delete rule name=$name
}-
Bonjour,
Merci pour cette réponse mais ça ne fonctionne pas.
J'ai Copier Coller ce code tel quel dans Windows PowerShell (%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe) en mode admin :
cd 'C:\Program Files (x86)\Common Files\DOSSIER'
$appli = ls *.exe -recurse
foreach ($app in $appli)
{
$name = $app.name
netsh adv firewall add rule name=$name dir=out action=block program=$app.fullpath
}
Comment être sur que la commande a bien été prise en compte ?
Les Soft présents dans C:\Program Files (x86)\Common Files\DOSSIER se connecte toujours sur le net !
Merci
-
-
Est ce que vous avez des messages d'erreurs ?
Si la commande c'est bien exécutée, vous pouvez voir les règle dans "Pare-feu Windows avec fonctions avancées de sécurité", catégorie "Règles de trafic sortant" -
-
Appuyez une ou deux fois sur entrée.
Vous devriez avoir des "ok" ou des erreurs. -
Ok, au lieu de la première et dernière apostrophe de la première ligne, mettez des guillemet. Le problème viens de l'apostrophe de "d'installation"
-
C'est ce qu'est censé faire le -recurse à la suite de ls.
Est ce que vous pouvez fairels *.exe* -recurse
et faire un screen du résultat ? -
Faites juste
ls *.exe* -recurse
en dehors du bloc.
Je voudrais m'assurer s'il trouve des choses -
Ok ensuite, taper :
cd "C:\Program Files (x86)\Common Files\Gestionnaire d'installation SOLIDWORKS"
ls -recurse
Et vérifier s'il sort des fichiers .exe -
Et si à la suite vous faites
ls *.exe -recurse
Il sort des choses ? -
Ben là s'il a rien ressorti la dernière fois c'est qu'il n'y a pas d'exe dans les sous-dossiers.
Vous me confirmez que vous en avez en cherchant directement dans l'explorateur windows ?-
Oui j'ai bien des .exe dans différents sous-dossiers de C:\Program Files (x86)\Common Files\Gestionnaire d'installation SOLIDWORKS
Je pense que la commandels *.exe -recurse
ne marche pas.
Par contre la commandecd "C:\Program Files (x86)\Common Files\Gestionnaire d'installation SOLIDWORKS"
fonctionne bien.
ls -recurse
Voici une capture d'une parti du résultat de la commande ci-dessus ou l'on remarque qu'il ressort bien en autre des .exe
http://img15.hostingpics.net/pics/934668Sanstitre.png
Merci ! -
-
-
ok, il y a des choses étranges qui se passent :)
On va essayer autre chose.
Dans le dossier solidworks :ls * -recurse | where {$_.name -like "*.exe"}-
ok la commande
cd "C:\Program Files (x86)\Common Files\Gestionnaire d'installation SOLIDWORKS"
ls * -recurse | where {$_.name -like "*.exe"}
marche parfaitement, il me trouve tous les .exe de tout les sous-dossiers compris dans C:\Program Files (x86)\Common Files\Gestionnaire d'installation SOLIDWORKS
à savoir 7 .exe
-
-
C'est déjà une bonne chose.
Le bloc devient donc
cd "C:\Program Files (x86)\Common Files\Gestionnaire d'installation SOLIDWORKS"
$appli = ls * -recurse | where {$_.name -like "*.exe"}
foreach ($app in $appli)
{
$name = $app.name
netsh adv firewall add rule name=$name dir=out action=block program=$app.fullpath
}