Skip to content

Instantly share code, notes, and snippets.

@ph33nx
Last active May 13, 2024 03:25
Show Gist options
  • Save ph33nx/0ed14724213c4cc467c85826c9dca908 to your computer and use it in GitHub Desktop.
Save ph33nx/0ed14724213c4cc467c85826c9dca908 to your computer and use it in GitHub Desktop.
Block All Adobe .exe files via Firewall on Windows Using Batch Script | Stop adobe apps to access internet
@REM Author: https://github.com/ph33nx
@REM Description: This script blocks or unblocks Adobe-related executables in Windows Firewall.
@REM Usage:
@REM - To block executables: adobe_block.bat
@REM - To unblock (delete) existing rules: adobe_block.bat -delete
@echo off
setlocal enabledelayedexpansion
REM Check if the script should delete existing rules
if /i "%1"=="-delete" (
echo Deleting existing firewall rules...
for /f "tokens=*" %%r in ('powershell -command "(Get-NetFirewallRule | where {$_.DisplayName -like '*adobe-block'}).DisplayName"') do (
netsh advfirewall firewall delete rule name="%%r"
)
echo Firewall rules deleted successfully.
pause
goto :eof
)
REM Process each folder and block executables
if exist "C:\Program Files\Adobe" (
for /R "C:\Program Files\Adobe" %%X in (*.exe) do (
echo Blocking: %%~nX
netsh advfirewall firewall add rule name="%%~nX adobe-block" dir=out program="%%X" action=block
netsh advfirewall firewall add rule name="%%~nX adobe-block" dir=in program="%%X" action=block
)
)
if exist "C:\Program Files\Common Files\Adobe" (
for /R "C:\Program Files\Common Files\Adobe" %%X in (*.exe) do (
echo Blocking: %%~nX
netsh advfirewall firewall add rule name="%%~nX adobe-block" dir=out program="%%X" action=block
netsh advfirewall firewall add rule name="%%~nX adobe-block" dir=in program="%%X" action=block
)
)
if exist "C:\Program Files\Maxon Cinema 4D R25" (
for /R "C:\Program Files\Maxon Cinema 4D R25" %%X in (*.exe) do (
echo Blocking: %%~nX
netsh advfirewall firewall add rule name="%%~nX adobe-block" dir=out program="%%X" action=block
netsh advfirewall firewall add rule name="%%~nX adobe-block" dir=in program="%%X" action=block
)
)
if exist "C:\Program Files\Red Giant" (
for /R "C:\Program Files\Red Giant" %%X in (*.exe) do (
echo Blocking: %%~nX
netsh advfirewall firewall add rule name="%%~nX adobe-block" dir=out program="%%X" action=block
netsh advfirewall firewall add rule name="%%~nX adobe-block" dir=in program="%%X" action=block
)
)
if exist "C:\Program Files (x86)\Adobe" (
for /R "C:\Program Files (x86)\Adobe" %%X in (*.exe) do (
echo Blocking: %%~nX
netsh advfirewall firewall add rule name="%%~nX adobe-block" dir=out program="%%X" action=block
netsh advfirewall firewall add rule name="%%~nX adobe-block" dir=in program="%%X" action=block
)
)
if exist "C:\Program Files (x86)\Common Files\Adobe" (
for /R "C:\Program Files (x86)\Common Files\Adobe" %%X in (*.exe) do (
echo Blocking: %%~nX
netsh advfirewall firewall add rule name="%%~nX adobe-block" dir=out program="%%X" action=block
netsh advfirewall firewall add rule name="%%~nX adobe-block" dir=in program="%%X" action=block
)
)
echo Blocking completed.
pause
endlocal
@Miiichal
Copy link

hello there, how can i revert it back?
For example after uninstall Adobe apps...
Thank you :)

@ph33nx
Copy link
Author

ph33nx commented Apr 16, 2024

hello there, how can i revert it back? For example after uninstall Adobe apps... Thank you :)

Try this in an elevated cmd

for /f "tokens=*" %%r in ('powershell -command "(Get-NetFirewallRule | where {$_.DisplayName -like '*(Blocked using script)'}).DisplayName"') do (
        netsh advfirewall firewall delete rule name="%%r"
)

I have also updated the script, now you can pass -delete flag to the script to delete all existing adobe related firewall rules

@Victory61
Copy link

Good morning and apologies for the question.
I ask if it is possible to put the command "adobe_block.bat -delete" in a separate script so that we have a single restore file while also avoiding having the adobe_block.bat file on the desktop?
Thank you very much

@GUYVERZERO
Copy link

Works great! Thanks for the time and effort.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment