Hi benham-ut,
I looked and looked forever to find a solution for this. The answer is that there are two ways to do it. One is very simple, but has a problem and one is through SQL and works perfectly.
The "simple" method is this.
Each menu in the Admin list is a sequentially numbered tab ID. For example, if the top item "Site Settings" as a Tab ID number of 88, then the next Tab ID number will be 89 and so on for each item.
To reach the page setting area to mark the page "Hidden" simply insert " ctl/Tab/action/edit/ " in between the Tab ID number and " Default.aspx " Then mark the page hidden or disabled as you like in it's settings area. The URL string to use to access one of these pages would look like this. http://www.yourdomain.com/Admin/SiteSettings/tabid/88/ctl/Tab/action/edit/Default.aspx
The problem with this method is that it makes the page visible in the pages module and removes it from the Admin menu as well. The problem then being that the Admin you are trying to hide it from can access it there.
The SQL method is this, and it works perfectly.
SQL solution:
This permits the "hiding" of menu items in the Admin menu, and DOES NOT remove them from the menu.
To "hide" an Admin Menu Item and make it unavailable in the list you must use the following SQL Script or it will create the problem of making that item available in the Tabs management page.
Make a note of each Item you change incase you want to restore it later.
SQL Script for hiding Admin Pages without removing them from the admin menu.
To Hide one in the menu.
<code>
UPDATE Tabs
SET
IsVisible = 1
WHERE (tabname = ' The Menu Item Name You Want To Hide' AND PortalId={PortalID})
To Reveal one in the menu just reverse it.
UPDATE Tabs
SET
IsVisible = 0
WHERE (tabname = 'Menu Item Name You Want To Hide' AND PortalId={PortalID})
</Code>
Hope it helps,
Clay