From: Owen Dunn Date: Sun, 6 Dec 2009 15:17:07 +0000 (+0000) Subject: Add the lib elevate stuff (even though it's only used by the old X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?p=jarrg-owen.git;a=commitdiff_plain;h=28fc5ed64298a61499fd985013654d9ac73293e5;hp=3cff51a7f2bf5a5d9b78482f408da1b70037994c Add the lib elevate stuff (even though it's only used by the old Installer class, which we no longer use on Windows) --- diff --git a/lib/elevate.cmd b/lib/elevate.cmd new file mode 100644 index 0000000..0b7a3ae --- /dev/null +++ b/lib/elevate.cmd @@ -0,0 +1,33 @@ +:: //*************************************************************************** +:: // ***** Script Header ***** +:: // ======================================================= +:: // Elevation PowerToys for Windows Vista v1.1 (04/29/2008) +:: // ======================================================= +:: // +:: // File: Elevate.cmd +:: // +:: // Additional files required: Elevate.vbs +:: // +:: // Purpose: To provide a command line method of launching applications that +:: // prompt for elevation (Run as Administrator) on Windows Vista. +:: // +:: // Usage: elevate.cmd application +:: // +:: // Version: 1.0.0 +:: // Date : 01/02/2007 +:: // +:: // History: +:: // 1.0.0 01/02/2007 Created initial version. +:: // +:: // ***** End Header ***** +:: //*************************************************************************** + +@setlocal +@echo off + +:: Pass raw command line agruments and first argument to Elevate.vbs +:: through environment variables. +set ELEVATE_CMDLINE=%* +set ELEVATE_APP=%1 + +start wscript //nologo "%~dpn0.vbs" %* diff --git a/lib/elevate.vbs b/lib/elevate.vbs new file mode 100644 index 0000000..5b3d3cb --- /dev/null +++ b/lib/elevate.vbs @@ -0,0 +1,93 @@ +' //*************************************************************************** +' // ***** Script Header ***** +' // ======================================================= +' // Elevation PowerToys for Windows Vista v1.1 (04/29/2008) +' // ======================================================= +' // +' // File: Elevate.vbs +' // +' // Additional files required: Elevate.cmd +' // +' // Purpose: To provide a command line method of launching applications that +' // prompt for elevation (Run as Administrator) on Windows Vista. +' // +' // Usage: (Not used directly. Launched from Elevate.cmd.) +' // +' // Version: 1.0.1 +' // Date : 01/03/2007 +' // +' // History: +' // 1.0.0 01/02/2007 Created initial version. +' // 1.0.1 01/03/2007 Added detailed usage output. +' // +' // ***** End Header ***** +' //*************************************************************************** + + +Set objShell = CreateObject("Shell.Application") +Set objWshShell = WScript.CreateObject("WScript.Shell") +Set objWshProcessEnv = objWshShell.Environment("PROCESS") + +' Get raw command line agruments and first argument from Elevate.cmd passed +' in through environment variables. +strCommandLine = objWshProcessEnv("ELEVATE_CMDLINE") +strApplication = objWshProcessEnv("ELEVATE_APP") +strArguments = Right(strCommandLine, (Len(strCommandLine) - Len(strApplication))) + +If (WScript.Arguments.Count >= 1) Then + strFlag = WScript.Arguments(0) + If (strFlag = "") OR (strFlag="help") OR (strFlag="/h") OR (strFlag="\h") OR (strFlag="-h") _ + OR (strFlag = "\?") OR (strFlag = "/?") OR (strFlag = "-?") OR (strFlag="h") _ + OR (strFlag = "?") Then + DisplayUsage + WScript.Quit + Else + objShell.ShellExecute strApplication, strArguments, "", "runas" + End If +Else + DisplayUsage + WScript.Quit +End If + + +Sub DisplayUsage + + WScript.Echo "Elevate - Elevation Command Line Tool for Windows Vista" & vbCrLf & _ + "" & vbCrLf & _ + "Purpose:" & vbCrLf & _ + "--------" & vbCrLf & _ + "To launch applications that prompt for elevation (i.e. Run as Administrator)" & vbCrLf & _ + "from the command line, a script, or the Run box." & vbCrLf & _ + "" & vbCrLf & _ + "Usage: " & vbCrLf & _ + "" & vbCrLf & _ + " elevate application " & vbCrLf & _ + "" & vbCrLf & _ + "" & vbCrLf & _ + "Sample usage:" & vbCrLf & _ + "" & vbCrLf & _ + " elevate notepad ""C:\Windows\win.ini""" & vbCrLf & _ + "" & vbCrLf & _ + " elevate cmd /k cd ""C:\Program Files""" & vbCrLf & _ + "" & vbCrLf & _ + " elevate powershell -NoExit -Command Set-Location 'C:\Windows'" & vbCrLf & _ + "" & vbCrLf & _ + "" & vbCrLf & _ + "Usage with scripts: When using the elevate command with scripts such as" & vbCrLf & _ + "Windows Script Host or Windows PowerShell scripts, you should specify" & vbCrLf & _ + "the script host executable (i.e., wscript, cscript, powershell) as the " & vbCrLf & _ + "application." & vbCrLf & _ + "" & vbCrLf & _ + "Sample usage with scripts:" & vbCrLf & _ + "" & vbCrLf & _ + " elevate wscript ""C:\windows\system32\slmgr.vbs"" –dli" & vbCrLf & _ + "" & vbCrLf & _ + " elevate powershell -NoExit -Command & 'C:\Temp\Test.ps1'" & vbCrLf & _ + "" & vbCrLf & _ + "" & vbCrLf & _ + "The elevate command consists of the following files:" & vbCrLf & _ + "" & vbCrLf & _ + " elevate.cmd" & vbCrLf & _ + " elevate.vbs" & vbCrLf + +End Sub