To disable a Ribbon UI icon, button, shortcut, task, or command, it requires a combination of registry keys. Some of which must be added to the registry, other keys merely need to be edited if they already exist. In cases where I’ve added the “MUIVerb” column in the table below, the only reason I am adding this key is because once you disable the icon, for whatever reason the icon description is missing so it looks fairly strange to have a grayed out icon without a name under it. Here is the location of the Ribbon UI stuff in the registry:
HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell
All of these registry keys use the same values throughout so I’m just going to place an X in the column below whether you need to set it or not. Also, I don’t have that kind of time to be able to test every single one of these entries, however, I would like to see this table completely filled at some point and I can only do that with your help. If you figure out an entry that I haven’t documented yet here, please take the time to quickly email me the info containing all the necessary info at webmaster@thisdomain.com with a subject line of “Ribbon UI”. I will ask one more thing of you, since at the time of this writing, this is literally the only place on the internet you will find this information (and I searched online for days) because I figured it out all by myself, if this page helped you out, please give me a thumbs up vote at the bottom of the post. I intend on adding some sortable post rating functionality to the site and I need feedback.
- First you need to take ownership and grant write permissions to the local SYSTEM account to the CommandStore > shell > Windows.* subkeys in the registry to be able to push these settings out via Group Policy Preferences, or to manually set these keys, take ownership and grant permissions to the user account your logged on as. Currently, I haven’t figured out a way to do this solely with Group Policy without having to call some external batch file that uses some third party software to take ownership and set the registry permissions. Not to worry though fellow tech nerds, I’ve taken all of the guesswork out of the process and went ahead and published my batch script for taking ownership and changing the permissions on the registry keys, you can download that here.
- Set “AttributeMask” REG_DWORD key to “00100000” hexadecimal.
- Set “AttributeValue” REG_DWORD key to “00100000” hexadecimal.
- Set “ImpliedSelectionModel” REG_DWORD key to “00000000” hexadecimal.
- “ExplorerCommandHandler” REG_SZ key will contain a CLSID value such as “{f7300245-1f4b-41ba-8948-6fd392064494}”. Edit the data and completely delete out the CLSID value, which will set the variable to a null or empty string. ie Set “ExplorerCommandHandler”=””.
- MUIVerb is the icon’s text description string. As mentioned above, in cases where the icon’s text is removed when it is disabled, you can add this key to set it’s value. Example: Windows.Cleanup – Set REG_SZ “MUIVerb”=”Cleanup”
- For whatever reason, if you wanted to change the button’s icon, you can set the path in the “Icon” key.
- The Group Policy Exists column tells whether there is a Group Policy that can control access to this setting at the time of this writing. If it does exist, you should use that instead of hacking the registry so that the command isn’t disabled for all users on the machine. Hacking it to lock it down should be used as a last resort and we should all admonish Microsoft for their lack of thoroughness (except when it comes to spying on people, tracking and cataloging users, building in backdoors, and releasing security updates to the NSA first so they can hack our computers before the patches are released).
Shell Command Name | Attribute Mask | Attribute Value | Implied Selection Model | Explorer Command Handler | MUIVerb | Group Policy Exists | Location | Comments |
Windows.aboutWindows | x | x | x | File Tab > Help Menu > About Windows | ||||
Windows.AddColumns | ||||||||
Windows.AddDevice | ||||||||
Windows.AddNetworkLocation | x | x | x | Computer Tab > Network Column > Add a network location | ||||
Windows.AddPrinter | ||||||||
Windows.AddRemovePrograms | x | x | x | x | Computer Tab > System Column > Uninstall or change a program | |||
Windows.AddToFavorites | Home Tab > New Column > Easy access Dropdown > Add to favorites | |||||||
Windows.Autoplay | x | x | x | x | Manage Tab > Media Column > AutoPlay | |||
Windows.Backup | ||||||||
Windows.BitLocker | Manage Tab > Protect Column > BitLocker | |||||||
Windows.BitLocker.Encrypt | ||||||||
Windows.BitLocker.Manage | ||||||||
Windows.BitLocker.ResetPasswordPin | ||||||||
Windows.burn | x | x | x | Share Tab > Send Column > Burn to disc | ||||
Windows.Burn.Action | ||||||||
Windows.ChangedIndexedLocations | ||||||||
Windows.change-passphrase | ||||||||
Windows.change-pin | ||||||||
Windows.ChooseColumns | ||||||||
Windows.CleanUp | x | x | x | x | Cleanup | |||
Windows.ClearAddressBarHistory | ||||||||
Windows.ClearFrequentHistory | ||||||||
Windows.clearRecentDocs | ||||||||
Windows.closewindow | ||||||||
Windows.cmd | ||||||||
Windows.cmdPromptAsAdministrator | ||||||||
Windows.CompressedFile.extract | ||||||||
Windows.CompressedFile.ExtractTo | ||||||||
Windows.CompressedFolder.extract | ||||||||
Windows.CompressedItem.extract | ||||||||
Windows.Computer.Manage | x | x | x | x | ||||
Windows.connectNetworkDrive | x | x | x | x | ||||
Windows.copy | ||||||||
Windows.copyaspath | ||||||||
Windows.CopyToBrowser | ||||||||
Windows.CopyToMenu | ||||||||
Windows.CscSync | ||||||||
Windows.CscWorkOfflineOnline | ||||||||
Windows.cut | ||||||||
Windows.Defragment | x | x | x | x | Optimize | |||
Windows.delete | ||||||||
Windows.Dialog.DisconnectNetworkDrive | x | x | x | x | ||||
Windows.DiscImage.burn | x | x | x | Manage Tab > Manage Column > Burn | ||||
Windows.DisconnectNetworkDrive | ||||||||
Windows.DiskFormat | x | x | x | |||||
Windows.DriveFolder.DisconnectNetworkDrive | ||||||||
Windows.edit | x | x | x | Home Tab > Open Column > Edit | ||||
Windows.Eject | x | x | x | |||||
Windows.email | x | x | x | |||||
Windows.encrypt-bde | ||||||||
Windows.encrypt-bde-elev | ||||||||
Windows.Enqueue | ||||||||
Windows.EraseDisc | ||||||||
Windows.EraseDiscAction | ||||||||
Windows.fax | x | x | x | |||||
Windows.FinishBurn | x | x | x | |||||
Windows.folderoptions | ||||||||
Windows.GroupByColumn | ||||||||
Windows.help | ||||||||
Windows.HideSelected | x | x | x | x | View Tab > Show/hide Column > Hide selected items | |||
Windows.HistoryVaultRestore | ||||||||
Windows.HomeGroupCPL | ||||||||
Windows.HomeGroupJoin | ||||||||
Windows.HomeGroupPassword | ||||||||
Windows.HomeGroupSharing | ||||||||
Windows.HomeGroupTroubleshooter | ||||||||
Windows.IconSize | ||||||||
Windows.includeinlibrary | ||||||||
Windows.invertselection | x | x | x | Home Tab > Select Column > Invert selection | ||||
Windows.layout | ||||||||
Windows.LibraryChangeIcon | ||||||||
Windows.LibraryDefaultSaveLocation | ||||||||
Windows.LibraryIncludeInLibrary | ||||||||
Windows.LibraryManageLibrary | ||||||||
Windows.LibraryOptimizeLibraryFor | ||||||||
Windows.LibraryPublicSaveLocation | ||||||||
Windows.LibraryRestoreDefaults | ||||||||
Windows.LibrarySelChangeIcon | ||||||||
Windows.LibrarySelDefaultSaveLocation | ||||||||
Windows.LibrarySelManageLibrary | ||||||||
Windows.LibrarySelOptimizeLibraryFor | ||||||||
Windows.LibrarySelPublicSaveLocation | ||||||||
Windows.LibrarySelRestoreDefaults | ||||||||
Windows.LibrarySelShowInNavPane | ||||||||
Windows.LibraryShowInNavPane | ||||||||
Windows.location.cmd | x | x | x | File Tab > Open command prompt Menu > Open command prompt | ||||
Windows.location.cmdPromptAsAdministrator | x | x | x | File Tab > Open command prompt Menu > Open command prompt as administrator | ||||
Windows.location.opennewprocess | ||||||||
Windows.location.opennewwindow | ||||||||
Windows.location.Powershell | x | x | x | File Tab > Open Windows PowerShell Menu > Open Windows PowerShell | ||||
Windows.location.PowershellAsAdmin | x | x | x | File Tab > Open Windows PowerShell Menu > Open Windows PowerShell as administrator | ||||
Windows.manage-bde | ||||||||
Windows.manage-bde-elev | ||||||||
Windows.ManageDefaultPrinters | ||||||||
Windows.MapNetworkDrive | x | x | x | x | Computer Tab > Network Column > Map network drive Dropdown > Map network drive | |||
Windows.menubar | ||||||||
Windows.mount | x | x | x | Manage Tab > Manage Column > Mount | ||||
Windows.MoveToBrowser | ||||||||
Windows.MoveToMenu | ||||||||
Windows.MultiVerb.cmd | ||||||||
Windows.MultiVerb.cmdPromptAsAdministrator | ||||||||
Windows.MultiVerb.opennewprocess | ||||||||
Windows.MultiVerb.opennewwindow | ||||||||
Windows.MultiVerb.Powershell | ||||||||
Windows.MultiVerb.PowershellAsAdmin | ||||||||
Windows.navpane | x | x | x | View Tab > Panes Column > Navigation Pane Dropdown > Navigation pane | ||||
Windows.NavPaneExpandToCurrentFolder | x | x | x | x | View Tab > Panes Column > Navigation Pane Dropdown > Expand to open folder | |||
Windows.NavPaneShowAllFolders | x | x | x | x | View Tab > Panes Column > Navigation Pane Dropdown > Show all folders | |||
Windows.NavPaneShowFavorites | x | x | x | x | View Tab > Panes Column > Navigation Pane Dropdown > Show favorites | |||
Windows.NavPaneShowLibraries | x | x | x | x | View Tab > Panes Column > Navigation Pane Dropdown > Show libraries | |||
Windows.NetworkAndSharing | ||||||||
Windows.NetworkViewDeviceWebpage | ||||||||
Windows.newfolder | ||||||||
Windows.newitem | ||||||||
Windows.open | x | x | x | x | Open | Computer Tab > Location Column > Open -AND- Home Tab > Open Column > Open | ||
Windows.OpenContainingFolder.opencontaining | ||||||||
Windows.OpenControlPanel | x | x | x | x | Computer Tab > System Column > System properties | |||
Windows.opennewprocess | ||||||||
Windows.opennewwindow | ||||||||
Windows.OpenPrinterServerProperty | ||||||||
Windows.OpenPrintQueue | ||||||||
Windows.OpenSearch.openfilelocation | ||||||||
Windows.OpenSearchViewSite | ||||||||
Windows.OpenWith | ||||||||
Windows.organize | ||||||||
Windows.paste | ||||||||
Windows.pastelink | ||||||||
Windows.PermanentDelete | ||||||||
Windows.pintostartscreen | ||||||||
Windows.play | ||||||||
Windows.playall | ||||||||
Windows.playmusic | ||||||||
Windows.playto | ||||||||
Windows.Powershell | ||||||||
Windows.PowershellAsAdmin | ||||||||
Windows.previewpane | x | x | x | View Tab > Panes Column > Details pane | The shell name is misleading, it actually controls the Details pane button and not the Preview pane button like you would think. | |||
Windows.print | x | x | x | Share Tab > Send Column > Print | ||||
Windows.properties | x | x | x | Computer Tab > Location Column > Properties -AND- Home Tab > Open Column > Properties | ||||
Windows.readingpane | x | x | x | View Tab > Panes Column > Preview pane | The shell name is misleading, it actually controls the Preview pane button and not the Details pane button like you would think. | |||
Windows.recycle | ||||||||
Windows.RecycleBin.Empty | ||||||||
Windows.RecycleBin.Location.properties | ||||||||
Windows.RecycleBin.properties | ||||||||
Windows.RecycleBin.RestoreAll | ||||||||
Windows.RecycleBin.RestoreItems | ||||||||
Windows.RecycleBin.Selection.properties | ||||||||
Windows.redo | ||||||||
Windows.remotedesktop | ||||||||
Windows.RemoveMediaServer | ||||||||
Windows.removeproperties | x | x | x | |||||
Windows.rename | x | x | x | Computer Tab > Location Column > Rename -AND- Home Tab > Organize Column > Rename | ||||
Windows.RibbonDelete | ||||||||
Windows.RibbonPermissionsDialog | ||||||||
Windows.RibbonShare | ||||||||
Windows.RibbonSync.MakeAvailableOffline | ||||||||
Windows.RibbonSync.SyncThisFolder | ||||||||
Windows.RibbonSync.WorkOfflineOnline | ||||||||
Windows.rotate270 | ||||||||
Windows.rotate90 | ||||||||
Windows.runas | ||||||||
Windows.runasuser | ||||||||
Windows.SearchActiveDirectory | ||||||||
Windows.SearchClearMru | ||||||||
Windows.SearchCloseTab | ||||||||
Windows.SearchFilterDate | ||||||||
Windows.SearchFilterKind | ||||||||
Windows.SearchFilterMoreProperties | ||||||||
Windows.SearchFilterSize | ||||||||
Windows.SearchMru | ||||||||
Windows.SearchOpenLocation | ||||||||
Windows.SearchOptionCompressed | ||||||||
Windows.SearchOptionContents | ||||||||
Windows.SearchOptionDeep | ||||||||
Windows.SearchOptionShallow | ||||||||
Windows.SearchOptionSystem | ||||||||
Windows.SearchSave | ||||||||
Windows.SearchSendTo | ||||||||
Windows.SearchSendToComputer | ||||||||
Windows.selectall | x | x | x | Home Tab > Select Column > Select all | ||||
Windows.SelectionCheckboxes | x | x | x | x | View Tab > Show/hide Column > Item check boxes | |||
Windows.selectnone | x | x | x | Home Tab > Select Column > Select none | ||||
Windows.separator | ||||||||
Windows.setdesktopwallpaper | ||||||||
Windows.Share | ||||||||
Windows.ShareHomegroupFullAccess | ||||||||
Windows.ShareHomegroupNoAccess | ||||||||
Windows.ShareHomegroupReadAccess | ||||||||
Windows.SharePrivate | ||||||||
Windows.ShareSpecificUsers | ||||||||
Windows.Shortcut.opencontaining | ||||||||
Windows.ShowFileExtensions | x | x | x | x | View Tab > Show/hide Column > File name extensions Checkbox | |||
Windows.ShowHiddenFiles | x | x | x | x | View Tab > Show/hide Column > Hidden items Checkbox | |||
Windows.SizeAllColumns | ||||||||
Windows.slideshow | ||||||||
Windows.SortAscending | ||||||||
Windows.SortByColumn | ||||||||
Windows.SortDescending | ||||||||
Windows.SortGroupsAscending | ||||||||
Windows.SortGroupsDescending | ||||||||
Windows.StartScan | ||||||||
Windows.statusbar | ||||||||
Windows.Sync | ||||||||
Windows.SystemProperties | x | x | x | x | Computer Tab > System Column > Manage | |||
Windows.taskbarpin | ||||||||
Windows.ToggleRecycleConfirmations | ||||||||
Windows.topviewrestoredefault | ||||||||
Windows.Troubleshoot | ||||||||
Windows.undo | ||||||||
Windows.UpdatePrinterDriver | ||||||||
Windows.View.OptionsGallery | x | x | x | x | x | View Tab > Next to Show/hide Column > Unnamed Column > Options | This button accesses Folder Options in the Control Panel | |
Windows.ViewRemotePrinters | ||||||||
Windows.zip | x | x | x | |||||
Windows.Zip.Action |
One thing you might have to watch out for is that if Windows Updates make any changes to the aforementioned registry keys, the registry permissions that we had to run the script for might get lost and you may have to run it over again at some point. If this is the case, you should see one or more entries in the Event Viewer depending on how many buttons you have disabled squawking about not having permission to update the keys.