Computer step by step
 Make your Pc better
Description:  

This setting removes the Set Program Access and Defaults page from the Programs Control Panel.  As a
result, users cannot view or change the associated page.

The Set Program Access and Computer Defaults page allows administrators to specify default programs for
certain activities, such as Web browsing or sending e-mail, as well as specify the programs that are
accessible from the Start menu, desktop, and other locations.

If this setting is disabled or not configured, the Set Program Access and Defaults button is available to all
users.

This setting does not prevent users from using other tools and methods to change program access or
defaults.

This setting does not prevent the Default Programs icon from appearing on the Start menu.

Supported on: At least Windows Vista.
Hide "Set Program Access and Computer
Defaults" page
Description Gpedit Regedit CMD Back VBScript PowerShell Script
Gpedit:   

Please perform the following steps:

Please go to Pearl button (Start) and click on the Search programs and files
For more information about the change from Start to Pearl button click here
Type gpedit.msc and press Enter
In the Group Policy window please navigate to User Configuration -> Administrative Templates ->
Control Panel -> Programs and open Hide "Set Program Access and Computer Defaults" page.
Not Configured -> is the Default state
Enabled -> apply this GPO
Disabled -> this GPO will not be applied

To finish press ok button and close Group Policy window.
Type regedit and press ok
Please confirm User Account Control pop-up
Microsoft official disclaimer

Warning Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by
using another method. These problems might require that you reinstall the operating system. Microsoft
cannot guarantee that these problems can be solved. Modify the registry at your own risk.

Note: This registry key is created by Group Policy when this GPO is Enable. The GPO Default state is Not
Configured -> this registry entry is not present. For Disable this registry entry is not present.

Please navigate to HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies
\Programs
and locate NoDefaultPrograms registry key
Regedit:          

Please perform the following steps:

Please go to Pearl button (Start) and click on the Search programs and files
For more information about the change from Start to Pearl button click here
   
   
Double click on NoDefaultPrograms and edit the value:

To Enable:
Change the data value with:
NoDefaultPrograms = 1

To finish press ok button and close Registry Editor window

Note: Manual editing of this registry key will not be reflected in Group Policy. If you modify this GPO from
Group Policy this registry key will be rewritten.
Type cmd, right click on cmd icon under the Programs and click on Run as administrator
Please confirm User Account Control pop-up
Please select, right and copy a registry key from below, then right click on command prompt window
, select Paste and press Enter

Enabled:
REG add "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Programs" /v NoDefaultPrograms /t REG_DWORD /d 1 /f

Not Configured:
REG DELETE "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Programs" /v NoDefaultPrograms /f

Note: Manual editing of this registry key will not be reflected in Group Policy. If you modify this GPO from
Group Policy this registry key will be rewritten.
CMD:          

Please perform the following steps:

Please go to Pearl button (Start) and click on the Search programs and files
For more information about the change from Start to Pearl button click here
   
VBScript:          

Const HKEY_CURRENT_USER = &H80000001
strComputer = "."
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _
strComputer & "\root\default:StdRegProv")

strKeyPath = "Software\Microsoft\Windows\CurrentVersion\Policies\Programs"
oReg.CreateKey HKEY_CURRENT_USER,strKeyPath
strValueName = "NoDefaultPrograms"
'Enabled
dwValue = 1
oReg.SetDWORDValue HKEY_CURRENT_USER,strKeyPath,strValueName,dwValue
'Not Configured
'oReg.DeleteValue HKEY_CURRENT_USER,strKeyPath,strValueName
PowerShell Script :          

Enabled

$RegKey = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies"
If(Test-Path ($RegKey + "\Programs"))
{
 $RegKey = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Programs"
  ##Enabled
  New-ItemProperty -path $RegKey -name NoDefaultPrograms -value 1 -PropertyType DWord -Force
}
else
{
 New-Item -path $RegKey -name Programs
 $RegKey = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Programs"
  ##Enabled
  New-ItemProperty -path $RegKey -name NoDefaultPrograms -value 1 -PropertyType DWord
}

Not Configured\Disabled

$RegKey = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies"
Remove-ItemProperty -Path($RegKey + "\Programs") -name NoDefaultPrograms
If( (Get-Item -Path($RegKey + "\Programs")).ValueCount -eq 0 -and (Get-Item -Path($RegKey + "\Programs")).SubKeyCount -eq 0)
{
 Remove-Item -Path($RegKey + "\Programs")   
}
Up Back
   
   
   
Result
By Default "Set Program Access and Computer Defaults" is present under Start -> Control Panel -> All
Control Panel Items -> Default Programs
You can prevent users from using "Set Program Access and Computer Defaults" using Group Policy or
modify the specific
registry key.  

Note: If you want to prevent a specific user from using "Set Program Access and Computer Defaults" you
need to modify or add the
registry key under his SID.