Skip to content

Deployment Script for the Ctrl-Alt-Del IT Consultancy Tools

A good friend of mine, Warren Simondson from Ctrl-Alt-Del IT Consultancy, writes some awesome tools. There are a particular set I use for all Terminal/Citrix Server deployments I refer to as “User Self-Help Tools”. The below script is what I use to deploy them. Simply add the tools you wish to deploy to an array. It can create shortcuts in a Start Menu folder and/or on the Desktop simply by setting a couple of boolean values as documented in the script.

Simply place this script in the same folder with the tools. Setup the arrTools and arrToolNames arrays. Execute it using the cscript processor. And voila…all done :)

Enjoy!

InstallCtrlAltDelITConsultancySelfHelpTools.vbs

' Installation script for the Ctrl-Alt-Del IT Consultancy Self-Help Tools.
' http://www.ctrl-alt-del.com.au/CAD_TSUtils.htm
'
' Instructions:
' 1) Add the tool executable name in the arrToolExes array.
' 2) Add the tool name for the shortcut in the arrToolNames array.
'    If you want the shortcut name to match the executable name, create
'    an empty value in the arrToolNames array.
' 3) Set the blnStartMenuShortcut and blnDesktopShortcut to True or False
'    depending on where you want a shortcut created, if at all.
'    If you only want to publish the tool(s), set both to False.
' 4) Set the strStartMenuSubFolder for the name of the Start Menu sub folder
'    to create the shortcuts in.
'    Set strStartMenuSubFolder to an empty value, or comment out, to create
'    them in the root of the Start Menu | Programs (All Programs) folder.
' 5) Set the blnAllUsersStartupFolder to True to create a shortcut for the
'    DEFSET utility in the All Users Startup Folder.
' 6) Even though these are 32-bit applications...
'    i) They will still run 100% correctly in a 64-bit environment.
'    ii) In a 64-bit environment we deploy them to the "%ProgramFiles%"
'        location and not the "%ProgramFiles(x86)%" location. This provides
'        a single location for the published application regardless of the
'        system architecture type.
'
' Revision 1.4 on 11th November 2009.
' Written by Jeremy@jhouseconsulting.com on 30th December 2008.
'
Option Explicit

Dim objfso, objFolder, wshShell, oShellLink, strAUPrograms, strAUDesktop Dim strProgramFiles, strScriptPath, arrToolExes, arrToolNames, i Dim blnStartMenuShortcut, blnDesktopShortcut, strStartMenuSubFolder Dim strStartMenuFolder, blnAllUsersStartupFolder, strAUStartup Dim strShortcutName
arrToolExes = Array("TSSelfServReset.exe","TSTaskman.exe","TSPassChg.exe","DEFSET.exe") arrToolNames = Array("Session Reset","Task Manager","Change Password","Default Printer Selection")
blnStartMenuShortcut = True blnDesktopShortcut = False strStartMenuSubFolder = "User Self-Help Tools" blnAllUsersStartupFolder = False
If IsArray(arrToolExes) And IsArray(arrToolNames) Then   If UBound(arrToolExes) <> UBound(arrToolNames) Then     WScript.Quit(0)   End If End If
set WshShell = WScript.CreateObject("WScript.Shell") set objfso = CreateObject("Scripting.FileSystemObject")
strProgramFiles = WshShell.ExpandEnvironmentStrings("%ProgramFiles%") strAUPrograms = WshShell.SpecialFolders("AllUsersPrograms") strAUDesktop = WshShell.SpecialFolders("AllUsersDesktop") strAUStartup = WshShell.SpecialFolders("AllUsersStartup") strScriptPath = Left(WScript.ScriptFullName, InstrRev(WScript.ScriptFullName, "\"))
If blnStartMenuShortcut Then   If strStartMenuSubFolder <> "" Then     strStartMenuFolder = strAUPrograms & "\" & strStartMenuSubFolder     If NOT objFSO.FolderExists(strAUPrograms & "\" & strStartMenuSubFolder) Then       Set objFolder = objFSO.CreateFolder(strAUPrograms & "\" & strStartMenuSubFolder)     End If   Else     strStartMenuFolder = strAUPrograms   End If End If
If IsArray(arrToolExes) And UBound(arrToolExes) > 0 Then   If NOT objFSO.FolderExists(strProgramFiles & "\Ctrl-Alt-Del") Then     Set objFolder = objFSO.CreateFolder(strProgramFiles & "\Ctrl-Alt-Del")   End If   For i = 0 to ubound(arrToolExes)     If objFSO.FileExists(strScriptPath & arrToolExes(i)) Then       If arrToolNames(i) <> "" Then         strShortcutName = arrToolNames(i)       Else         strShortcutName = arrToolExes(i)         If Len(arrToolExes(i)) - instrrev(arrToolExes(i), ".") = 3 Then           strShortcutName = Left(arrToolExes(i), Len(arrToolExes(i)) - 4)         End If       End If       objFSO.CopyFile strScriptPath & arrToolExes(i), strProgramFiles & "\Ctrl-Alt-Del\", True       If blnStartMenuShortcut Then         Set oShellLink = WshShell.CreateShortcut(strStartMenuFolder & "\" & strShortcutName & ".lnk")         oShellLink.TargetPath = chr(34) & strProgramFiles & "\Ctrl-Alt-Del\" & arrToolExes(i) & chr(34)         oShellLink.WorkingDirectory= strProgramFiles & "\Ctrl-Alt-Del"         oShellLink.IconLocation = strProgramFiles & "\Ctrl-Alt-Del\" & arrToolExes(i) & ",0"         oShellLink.Save       End If       If blnDesktopShortcut Then         Set oShellLink = WshShell.CreateShortcut(strAUDesktop & "\" & strShortcutName & ".lnk")         oShellLink.TargetPath = chr(34) & strProgramFiles & "\Ctrl-Alt-Del\" & arrToolExes(i) & chr(34)         oShellLink.WorkingDirectory= strProgramFiles & "\Ctrl-Alt-Del"         oShellLink.IconLocation = strProgramFiles & "\Ctrl-Alt-Del\" & arrToolExes(i) & ",0"         oShellLink.Save       End If       If Ucase(arrToolExes(i)) = "DEFSET.EXE" AND blnAllUsersStartupFolder Then         Set oShellLink = WshShell.CreateShortcut(strAUStartup & "\" & strShortcutName & ".lnk")         oShellLink.TargetPath = chr(34) & strProgramFiles & "\Ctrl-Alt-Del\" & arrToolExes(i) & chr(34)         oShellLink.WorkingDirectory= strProgramFiles & "\Ctrl-Alt-Del"         oShellLink.IconLocation = strProgramFiles & "\Ctrl-Alt-Del\" & arrToolExes(i) & ",0"         oShellLink.Save       End If     End If   Next End If
Set WshShell = Nothing Set objfso = Nothing Set objFolder = Nothing Set oShellLink = Nothing
WScript.Quit(0)
  • Technotizie
  • Google Bookmarks
  • Facebook
  • Delicious
  • LinkedIn
  • Twitter
  • Technorati Favorites
  • Digg
  • Share/Save/Bookmark

Post a Comment

Your email is never published nor shared. Required fields are marked *
*
*

Spam protection by WP Captcha-Free