Solved

Access and edit users' Start Menu entries in VBScript login script

Posted on 2008-10-06
2
875 Views
Last Modified: 2012-05-05
As part of our login script, there is a part to clean up the Start Menu for each user, as we have several Windows XP workstations running on a Windows Server 2003 network. Currently I'm using a batch file as the login script, but I'm in the process of converting it all to a VBScript, to allow for additional functionality in setting up Outlook and printers based on AD credentials.

The script should be able to:
1) Delete the Outlook Express shortcut, if found, from a user's Start Menu folder;
2) Delete the Sophos folder (if found) from the All Users Start Menu;
3) Set the Hidden attribute on both Startup folders; and
4) Sort the order of the Start Menu.

Attached is what I have so far this in a batch file; I am struggling to replicate this functionality in VBScript, but have encountered problems as I can't seem to find a way of accessing the %userprofile% equivalent in VBScript, just the absolute path (which obviously won't work for a login script).
if exist "%USERPROFILE%\Start Menu\Programs\Outlook Express.lnk" (
del /q "%USERPROFILE%\Start Menu\Programs\Outlook Express.lnk"
)
if exist "C:\Documents and Settings\All Users\Start Menu\Programs\Sophos\" (
rd /s /q "C:\Documents and Settings\All Users\Start Menu\Programs\Sophos\"
)
attrib +H "%USERPROFILE%\Start Menu\Programs\Startup\" /S
attrib +H "C:\Documents and Settings\All Users\Start Menu\Programs\Startup\" /S
REGPERM /K HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder /A:Everyone:R /Q

Open in new window

0
Comment
Question by:skrysiak
2 Comments
 
LVL 38

Accepted Solution

by:
Shift-3 earned 250 total points
ID: 22650853
Paste the script below into a text file with a .vbs extension.  Running it should accomplish the desired objectives.


Set objShell = CreateObject("WScript.Shell")
strAllUsersProfile = objShell.ExpandEnvironmentStrings("%allusersprofile%")
strUserProfile = objShell.ExpandEnvironmentStrings("%userprofile%")
 
Set objFSO = CreateObject("Scripting.FileSystemObject")
 
If objFSO.FileExists(strUserProfile & "\Start Menu\Programs\Outlook Express.lnk") Then
    objFSO.DeleteFile strUserProfile & "\Start Menu\Programs\Outlook Express.lnk", True
End If
 
If objFSO.FolderExists(strAllUsersProfile & "\Start Menu\Programs\Sophos") Then
    objFSO.DeleteFolder strAllUsersProfile & "\Start Menu\Programs\Sophos", True
End If
 
If objFSO.FolderExists(strUserProfile & "\Start Menu\Programs\Startup") Then
    Set objStartup = objFSO.GetFolder(strUserProfile & "\Start Menu\Programs\Startup")
    objStartup.Attributes = 19
End If
 
If objFSO.FolderExists(strAllUsersProfile & "\Start Menu\Programs\Startup") Then
    Set objStartup = objFSO.GetFolder(strAllUsersProfile & "\Start Menu\Programs\Startup")
    objStartup.Attributes = 19
End If
 
objShell.Run "REGPERM /K HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder /A:Everyone:R /Q"

Open in new window

0
 

Author Closing Comment

by:skrysiak
ID: 31503426
Sweet! Works perfectly, thanks for your help.
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

If you have done a reformat of your hard drive and proceeded to do a successful Windows XP installation, you may notice that a choice between two operating systems when you start up the machine. Here is how to get rid of this: Click Start Clic…
For both online and offline retail, the cross-channel business is the most recent pattern in the B2C trade space.
Two types of users will appreciate AOMEI Backupper Pro: 1 - Those with PCIe drives (and haven't found cloning software that works on them). 2 - Those who want a fast clone of their boot drive (no re-boots needed) and it can clone your drive wh…
I've attached the XLSM Excel spreadsheet I used in the video and also text files containing the macros used below. https://filedb.experts-exchange.com/incoming/2017/03_w12/1151775/Permutations.txt https://filedb.experts-exchange.com/incoming/201…

756 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question