How to Allow Users to Run Only Specified Programs in Windows
Information
This tutorial will show you how to allow all or specific users on the computer to be able to run only a list of allowed programs you specify in Vista, Windows 7, or Windows 8.
You must be logged in as an administrator to be able to do the steps in this tutorial.
Warning
This will not prevent users from being able to run a program through the command prompt unless you do not addcmd.exe to the list of allowed applications, or addcmd.exe to the list of disallowed applications.
Even if you have an .exe file of a program in the list of allowed applications and also in the list of disallowed applications, then users will not be able to run the .exe. Anything disallowed will always override anything allowed.
If an .exe file in the list of allowed programs was renamed by a user (if allowed), then the user will no longer be able to run that exe since that name wasn't in the list of allowed programs.
Renaming an .exe file will bypass the list of disallowed programs to let it run anyways, but not with the list of allowed programs. If the .exe file name is not on the list of allowed programs, then it can't run.
This does not apply to "Metro" Store apps in Windows 8.
EXAMPLE: Message NOTE:This is a message that all users will get when they try to run a EXE file not on the list of allowed programs that you specified.
2. In the left pane, click/tap on to expand User Configuration, Administrative Templates, and System. (see screenshot below)
3. In the right pane of System, double click/tap on Run only specified Windows applications to edit it. (see screenshot above)
4. To Allow All Applications to Run
A) Select (dot) either Not Configured or Disabled, and go to step 6 below. (see screenshot below) NOTE:Not configured is the default setting.
5. To Allow Only Specified Applications to Run
A) Select (dot) Enabled, then click/tap on the Show button under Options. (see screenshot above)
B) Under Value, double click/tap in a blank line and type in the name of the EXE file (ex: cmd.exe) with file extension that you want to prevent from running. (see screenshots below)
Tip
To change or remove a listed exe file name, you can just type over it.
To clear or reset the list of allowed applications, you can select Not Configured (step 4), click/tap on Apply, select Enabled again, and click/tap on Apply.
C) Repeat step 5B until you have added any other EXE files (ex: CCleaner) you want on the list of allowed applications as well. When finished, click/tap on OK. (see screenshots above)
D) Go to step 6 below.
6. Click/tap on OK. (see screenshot below step 4A)
A) In the right pane of Explorer, right click or press and hold on a empty space, and click/tap on New and DWORD (32-bit) Value. (see screenshot below)
B) Type in RestrictRun and press Enter. Double click/tap on RestrictRun to modify it. (see screenshot below)
C) Type in 1 and click/tap on OK. (see screenshot below)
D) In the left pane, right click on Explorer, click/tap on New and Key, type in RestrictRun, and press Enter. (see screenshot below)
E) In the right pane of RestrictRun, right click or press and hold on a empty space, and click/tap on New and String Value. (see screenshot below)
F) Type in the name of the .exe file (ex: mspaint.exe) with extension that you want to be added to the list of allowed applications, and press Enter. Double click/tap on this .exe file (ex: mspaint.exe) name to modify it. (see screenshot below)
G) Type in the name of the same .exe file (ex: mspaint.exe) again, and click/tap on OK. (see screenshot below)
Tip
To change a listed EXE file name, double click/tap on the EXE to modify it (step 4F), type the new EXE name, and click/tap on OK.
To remove a listed EXE file name, right click or press and hold on the EXE, then click/tap on Delete and Yes.
H) Repeat steps 4F and 4G until you have added any other .exe files (ex: notepad.exe) you want on the list of allowed applications as well. (see screenshot below step 4F)
I) When finished, go to step 6 below.
5. To Allow All Applications to Run NOTE:This is the default setting.
A) In the right pane of Explorer, right click or press and hold on RestrictRun, and click/tap on Delete. (see screenshot below)
B) Click/tap on Yes to approve. (see screenshot below)
C) In the left pane, right click on RestrictRun, and click/tap on Delete. (see screenshot below)
D) Click/tap on Yes to approve, go to step 6 below. (see screenshot below)
1. Is Local Group Policy available to all versions of Windows 7 (e.g. Starter, Home, Home Premium etc.)?
2. Can the message text in the restriction pop-up be customised?
Computer type PC/Desktop System Manufacturer/Model Number Golden Mk. I.3 OS Windows 7 Ultimate SP1 (x64) CPU Intel i7 860 @ 2.80 GHz Motherboard Gigabyte P55A-UD3R Rev.1. Award BIOS F13 Memory 16GB Corsair Vengance DDR3 @ 661 MHz Dual Channel (9-9-9-24) Graphics Card EVGA NVidia GTX 560 1024MB Sound Card Realtek Integrated Monitor(s) Displays Dual Samsung SyncMaster 2494HS Screen Resolution 1920*1080 and 1920*1080
Keyboard Logitech G110 Mouse Logitech MX518 PSU Thermaltake ToughPower QFan 750W Case Thermaltake Element S VK60001W2Z Cooling Corsair H60 Water Cooling, 2*230mm and 2*80mm case fans Hard Drives 1*OCZ Vertex 2 60GB SSD;
2*Samsung F3 SpinPoint 1TB in RAID0;
3*Samsung F1 SpinPoint 1TB in RAID5;
1*Western Digital 500GB External USB 3.0
1*Seagate 500GB External USB 2.0 Internet Speed Not fast enough!!! Antivirus MSE and Malwarebytes Pro Browser Chrome Version 25 Other Info Laptop: ASUS X54C, Intel Core i3-2330M @ 2.0Ghz, 4GB RAM, Intel HD on-board graphics, Windows 7 Professional SP1 (x64), LinuxMint 14 (x64), PepperMint 3 (x86)
Is this name based... so if something is named mspaint.exe it works? So renamning something to mspaint.exe will fool this protection?
Is registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer doing the same but only if no user specific entry has been defined?
Does it also prevent excution of progam if started from "command prompt"?
Computer type Laptop System Manufacturer/Model Number ACER ASPIRE 5742G OS Microsoft Windows 7 Home Premium 64-bits 7601 Multiprocessor Free Service Pack 1 CPU Intel(R) Core(TM) i3 CPU M 370 @ 2.40GHz Motherboard Acer Aspire 5742G Memory 4,00 GB Graphics Card ATI Mobility Radeon HD 5400 Series Sound Card (1) AMD High Definition Audio Device (2) Realtek High Defi Screen Resolution 1366 x 768 x 32 bits (4294967296 colors) @ 60 Hz
1. Is Local Group Policy available to all versions of Windows 7 (e.g. Starter, Home, Home Premium etc.)?
2. Can the message text in the restriction pop-up be customised?
Hello Golden,
Q1) Correct, Group Policy (OPTION ONE) is not available in those editions, but those editions can use OPTION TWO with the registry instead.
Is this name based... so if something is named mspaint.exe it works? So renamning something to mspaint.exe will fool this protection?
Is registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer doing the same but only if no user specific entry has been defined?
Does it also prevent excution of progam if started from "command prompt"?
Hello Ron,
Correct, it's file name specific. Renaming the .exe file would bypass the list of disallowed programs, but not the list of allowed programs from this tutorial.
If the .exe's file name is not on the list of allowed programs, then it can't run. Of course, you have to make sure you have every .exe file you want to be allowed to run listed though.
The registry location should be under HKEY_CURRENT_USER and not HKEY_LOCAL_MACHINE though. Since this is in the Policies key, only an administrator can modify it. This location will apply to all users on the computer.
If cmd.exe was "not added" to the list of allowed programs and/or added to the list of disallowed programs, then users will not be able to run anything from within a command prompt in Windows since cmd.exe is not allowed to be opened.
Computer type PC/Desktop System Manufacturer/Model Number Golden Mk. I.3 OS Windows 7 Ultimate SP1 (x64) CPU Intel i7 860 @ 2.80 GHz Motherboard Gigabyte P55A-UD3R Rev.1. Award BIOS F13 Memory 16GB Corsair Vengance DDR3 @ 661 MHz Dual Channel (9-9-9-24) Graphics Card EVGA NVidia GTX 560 1024MB Sound Card Realtek Integrated Monitor(s) Displays Dual Samsung SyncMaster 2494HS Screen Resolution 1920*1080 and 1920*1080
Keyboard Logitech G110 Mouse Logitech MX518 PSU Thermaltake ToughPower QFan 750W Case Thermaltake Element S VK60001W2Z Cooling Corsair H60 Water Cooling, 2*230mm and 2*80mm case fans Hard Drives 1*OCZ Vertex 2 60GB SSD;
2*Samsung F3 SpinPoint 1TB in RAID0;
3*Samsung F1 SpinPoint 1TB in RAID5;
1*Western Digital 500GB External USB 3.0
1*Seagate 500GB External USB 2.0 Internet Speed Not fast enough!!! Antivirus MSE and Malwarebytes Pro Browser Chrome Version 25 Other Info Laptop: ASUS X54C, Intel Core i3-2330M @ 2.0Ghz, 4GB RAM, Intel HD on-board graphics, Windows 7 Professional SP1 (x64), LinuxMint 14 (x64), PepperMint 3 (x86)
The registry location should be under HKEY_CURRENT_USER and not HKEY_LOCAL_MACHINE though. Since this is in the Policies key, only an administrator can modify it. This location will apply to all users on the computer.
that's exactly the info I needed! So it's a registry key under HKCU but NOT changeable by user.
But what if a user renames unallowedprogam.exe to allowedprogam.exe? (assuming renaming is allowed). Or for example plug in an usb disk with allowedprogam.exe on it?
Computer type Laptop System Manufacturer/Model Number ACER ASPIRE 5742G OS Microsoft Windows 7 Home Premium 64-bits 7601 Multiprocessor Free Service Pack 1 CPU Intel(R) Core(TM) i3 CPU M 370 @ 2.40GHz Motherboard Acer Aspire 5742G Memory 4,00 GB Graphics Card ATI Mobility Radeon HD 5400 Series Sound Card (1) AMD High Definition Audio Device (2) Realtek High Defi Screen Resolution 1366 x 768 x 32 bits (4294967296 colors) @ 60 Hz
that's exactly the info I needed! So it's a registry key under HKCU but NOT changeable by user.
Correct, the Policy key under HKCU cannot be changed by a user. Only by and admin.
Quote:
But what if a user renames unallowedprogam.exe to allowedprogam.exe? (assuming renaming is allowed). Or for example plug in an usb disk with allowedprogam.exe on it?
If unallowedprogam.exe is in the list of allowed programs and was renamed (if allowed) to allowedprogam.exe, then the user will no longer be able to run that exe since it's no longer an .exe in the list of allowed programs.
So purely name based. If notepad.exe is allowed:
I put some nasty stuff on usb stick and call the exe notepad.exe. Then run notepad.exe from usb stick which runs some nasty stuff. Fake security in my opinion. Correct me if I'm wrong
Computer type Laptop System Manufacturer/Model Number ACER ASPIRE 5742G OS Microsoft Windows 7 Home Premium 64-bits 7601 Multiprocessor Free Service Pack 1 CPU Intel(R) Core(TM) i3 CPU M 370 @ 2.40GHz Motherboard Acer Aspire 5742G Memory 4,00 GB Graphics Card ATI Mobility Radeon HD 5400 Series Sound Card (1) AMD High Definition Audio Device (2) Realtek High Defi Screen Resolution 1366 x 768 x 32 bits (4294967296 colors) @ 60 Hz