Cortafuegos: bloquear todos los programas de una carpeta
Resuelto
Matt
-
Fenrisulfr01 Mensajes publicados 17 Estado Miembro -
Fenrisulfr01 Mensajes publicados 17 Estado Miembro -
Hola,
Quiero, desde el cortafuegos de Windows 7, bloquear el acceso a Internet de todos los programas .exe de una carpeta.
De hecho, quiero bloquear una lista de X programas en la carpeta C:\Program Files\"FOLDER"
No hay problema en bloquear los .exe uno por uno, ¡pero realmente es muy largo!
¿Tienes una solución rápida?
¡Gracias de antemano!
Quiero, desde el cortafuegos de Windows 7, bloquear el acceso a Internet de todos los programas .exe de una carpeta.
De hecho, quiero bloquear una lista de X programas en la carpeta C:\Program Files\"FOLDER"
No hay problema en bloquear los .exe uno por uno, ¡pero realmente es muy largo!
¿Tienes una solución rápida?
¡Gracias de antemano!
16 respuestas
-
No, no acepta tener dir=in y dir=out.
Sin embargo, puede rehacer el conjunto dejando solo dir=in.-
He añadido una línea y funciona perfectamente
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
}
¡Gracias por tu ayuda!
-
-
Hola,
Para hacer lo que necesitas, te propongo un pequeño bloque de powershell.
Por lo tanto, debes ejecutar powershell en modo administrador.
Luego escribe esto:cd "tu carpeta"
$appli = ls *.exe
foreach ($app in $appli)
{
$name = $app.name
netsh adv firewall add rule name=$name dir=out action=block program=$app.fullpath
}
Donde tu carpeta es la ubicación donde se encuentran las aplicaciones que deseas bloquear.
Esto creará una regla con el nombre de tu aplicación, que bloqueará el tráfico saliente.-
Hola,
¡Muchas gracias por esta respuesta!
¿Entonces debo escribir simplemente esto? :
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
}
¿Este código bloquea todo el tráfico saliente de TODAS las aplicaciones en C:\Program Files\"DOSSIER"?
¿Y si quiero desactivar este bloqueo?
¡Gracias de nuevo!
-
-
En efecto, esta vez debería ser la buena.
Vamos, cambiemos una vez más :)
cd "C:\Program Files (x86)\Common Files\Gestor de instalación de 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
}
Esta vez debería ser la correcta.-
¡Gracias, parece que funciona de maravilla!
¿Es posible agregar también una restricción en el tráfico entrante?
Algo así
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
}
-
-
-
Hola,
Si el dossier del que se habla se llama exactamente "DOSSIER" (con las comillas, el primer comando escd 'C:\program Files\"DOSSIER"'
Después, he visto un error en la segunda línea: hay que añadir -recurse al final. Lo que da:$appli = ls *.exe -recurse
Sí, este código bloquea el tráfico de absolutamente todos los archivos .exe de la carpeta C:\program Files\"DOSSIER".
Para eliminar todas las reglas creadas anteriormente, utiliza este código de la misma manera:cd 'C:\program Files\"DOSSIER"'
$appli = ls *.exe
foreach ($app in $appli)
{
$name = $app.name
netsh adv firewall delete rule name=$name
}-
Hola,
Gracias por esta respuesta, pero no funciona.
He copiado y pegado este código tal cual en Windows PowerShell (%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe) en modo administrador:
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
}
¿Cómo puedo estar seguro de que el comando se ha tenido en cuenta?
¡Los programas presentes en C:\Program Files (x86)\Common Files\DOSSIER todavía se conectan a Internet!
Gracias
-
-
¿Tiene mensajes de error?
Si el comando se ha ejecutado correctamente, puede ver las reglas en "Firewall de Windows con funciones avanzadas de seguridad", categoría "Reglas de tráfico saliente". -
-
Presione una o dos veces la tecla Enter.
Debería tener "ok" o errores. -
Ok, en lugar de la primera y última apóstrofe de la primera línea, pon comillas. El problema viene de la apóstrofe de "de instalación"
-
Lo que se supone que debe hacer el -recurse después de ls.
¿Puedes hacerls *.exe* -recurse
y hacer una captura de pantalla del resultado? -
Solo haz
ls *.exe* -recurse
fuera del bloque.
Quiero asegurarme de que encuentra cosas. -
cd "C:\Program Files (x86)\Common Files\Gestionador de instalación SOLIDWORKS"
ls -recurse
Y verificar si aparecen archivos .exe -
¿Y si después haces
ls *.exe -recurse
¿sale algo? -
Bueno, si la última vez no encontró nada, es porque no hay archivos .exe en los subdirectorios.
¿Me confirma que tiene algunos buscando directamente en el explorador de Windows?-
Sí, tengo varios .exe en diferentes subcarpetas de C:\Program Files (x86)\Common Files\Gestor de Instalación SOLIDWORKS
Creo que el comandols *.exe -recurse
no funciona.
Sin embargo, el comandocd "C:\Program Files (x86)\Common Files\Gestor de Instalación SOLIDWORKS"
funciona bien.
ls -recurse
Aquí hay una captura de una parte del resultado del comando anterior donde se observa que, entre otras cosas, también aparecen .exe
http://img15.hostingpics.net/pics/934668Sanstitre.png
¡Gracias! -
-
-
ok, hay cosas extrañas que están pasando :)
Vamos a intentar otra cosa.
En la carpeta de solidworks:ls * -recurse | where {$_.name -like "*.exe"}-
ok el comando
cd "C:\Program Files (x86)\Common Files\Gestionnaire d'installation SOLIDWORKS"
ls * -recurse | where {$_.name -like "*.exe"}
funciona perfectamente, me encuentra todos los .exe de todos los subfolders incluidos en C:\Program Files (x86)\Common Files\Gestionnaire d'installation SOLIDWORKS
a saber 7 .exe
-
-
Es ya una buena cosa.
El bloque se convierte por lo tanto en
cd "C:\Program Files (x86)\Common Files\Gestor de instalación 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
}-
Ok, él tiene en cuenta el pedido y bloquea correctamente los 7 .exe; tengo 7 veces OK (las reglas están bien añadidas en el cortafuegos) pero no funciona.
De hecho, los .exe siguen conectándose a la red y el camino me parece erróneo. Ver captura:
http://img15.hostingpics.net/pics/874902Sanstitre.png
-