Desktop Management Scripts
Adding “Command Prompt Here” to Windows ExplorerAdding a Template to the Windows Explorer New Menu
Enumerating Administrative Tools
Enumerating Desktop Settings
Enumerating Special Folders
Enumerating Start Menu Items
Enumerating Start Menu Program Groups
Renaming the My Computer Icon on the Local Computer
Renaming the My Computer Icon on the Local Computer
Using WMI to Enumerate Environment Variables on a Computer
Adding “Command Prompt Here” to Windows Explorer
Adds a Command Prompt Here command to the Windows Explorer system menu. If a user selects Command Prompt Here from the system menu, a command window will be displayed, open to the same folder as the current Windows Explorer folder.
Set objShell = CreateObject("WScript.Shell") objShell.RegWrite "HKCR\Folder\Shell\MenuText\Command\", _ "cmd.exe /k cd " & chr(34) & "%1" & chr(34) objShell.RegWrite "HKCR\Folder\Shell\MenuText\", "Command Prompt Here"
Adding a Template to the Windows Explorer New Menu
Demonstrates how to add VBScript Script File to the New context menu in Windows Explorer. Requires a script template named Template.vbs to be in the \Windows\System32\ShellExt folder (on Windows XP and Windows Server 2003), or in the \Winnt\ShellNew folder (Windows 2000).
Set objShell = WScript.CreateObject("WScript.Shell") objShell.RegWrite "HKCR\.VBS\ShellNew\FileName","template.vbs"
Enumerating Administrative Tools
Uses the Shell object to enumerate all the Administrative Tools installed on a computer.
Const ADMINISTRATIVE_TOOLS = &H2f& Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.Namespace(ADMINISTRATIVE_TOOLS) Set objTools = objFolder.Items For i = 0 to objTools.Count - 1 Wscript.Echo objTools.Item(i) Next
Enumerating Desktop Settings
Enumerates the current desktop settings for a computer.
On Error Resume Next strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery("Select * from Win32_Desktop") For Each objItem in colItems Wscript.Echo "Border Width: " & objItem.BorderWidth Wscript.Echo "Caption: " & objItem.Caption Wscript.Echo "Cool Switch: " & objItem.CoolSwitch Wscript.Echo "Cursor Blink Rate: " & objItem.CursorBlinkRate Wscript.Echo "Description: " & objItem.Description Wscript.Echo "Drag Full Windows: " & objItem.DragFullWindows Wscript.Echo "Grid Granularity: " & objItem.GridGranularity Wscript.Echo "Icon Spacing: " & objItem.IconSpacing Wscript.Echo "Icon Title Face Name: " & objItem.IconTitleFaceName Wscript.Echo "Icon Title Size: " & objItem.IconTitleSize Wscript.Echo "Icon Title Wrap: " & objItem.IconTitleWrap Wscript.Echo "Name: " & objItem.Name Wscript.Echo "Pattern: " & objItem.Pattern Wscript.Echo "Screen Saver Active: " & objItem.ScreenSaverActive Wscript.Echo "Screen Saver Executable: " & _ objItem.ScreenSaverExecutable Wscript.Echo "Screen Saver Secure: " & objItem.ScreenSaverSecure Wscript.Echo "Screen Saver imeout: " & objItem.ScreenSaverTimeout Wscript.Echo "Setting ID: " & objItem.SettingID Wscript.Echo "Wallpaper: " & objItem.Wallpaper Wscript.Echo "Wallpaper Stretched: " & objItem.WallpaperStretched Wscript.Echo "Wallpaper Tiled: " & objItem.WallpaperTiled Next
Enumerating Special Folders
Uses the Shell object to return the path to the My Pictures folder.
Const MY_PICTURES = &H27& Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.Namespace(MY_PICTURES) Set objFolderItem = objFolder.Self Wscript.Echo objFolderItem.Name & ": " & objFolderItem.Path
Enumerating Start Menu Items
Returns a list of all the Start menu items found on a computer.
On Error Resume Next strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery _ ("Select * from Win32_LogicalProgramGroupItem") For Each objItem in colItems Wscript.Echo "Name: " & objItem.Name Next
Enumerating Start Menu Program Groups
Retrieves information about all the Start menu program groups currently in use on a computer.
On Error Resume Next strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery _ ("Select * from Win32_LogicalProgramGroupItem") For Each objItem in colItems Wscript.Echo "Name: " & objItem.Name Next
Renaming the My Computer Icon on the Local Computer
Renames the My Computer icon on the local computer, giving it the same name as the computer itself.
Const MY_COMPUTER = &H11& Set objNetwork = CreateObject("Wscript.Network") objComputerName = objNetwork.ComputerName Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.Namespace(MY_COMPUTER) Set objFolderItem = objFolder.Self objFolderItem.Name = objComputerName
Renaming the My Computer Icon on the Local Computer
Renames the My Computer icon on the local computer, giving it the same name as the computer itself.
Const MY_COMPUTER = &H11& Set objNetwork = CreateObject("Wscript.Network") objComputerName = objNetwork.ComputerName Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.Namespace(MY_COMPUTER) Set objFolderItem = objFolder.Self objFolderItem.Name = objComputerName
Using WMI to Enumerate Environment Variables on a Computer
Uses WMI to return information about all the environment variables on a computer.
strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery("Select * from Win32_Environment") For Each objItem in colItems Wscript.Echo "Description: " & objItem.Description Wscript.Echo "Name: " & objItem.Name Wscript.Echo "System Variable: " & objItem.SystemVariable Wscript.Echo "User Name: " & objItem.UserName Wscript.Echo "Variable Value: " & objItem.VariableValue Next