chiark / gitweb /
Use real baked-in version for our version when uploading to yarrg
[jarrg-ian.git] / lib / elevate.vbs
1 ' //***************************************************************************\r
2 ' // ***** Script Header *****\r
3 ' // =======================================================\r
4 ' // Elevation PowerToys for Windows Vista v1.1 (04/29/2008)\r
5 ' // =======================================================\r
6 ' //\r
7 ' // File:      Elevate.vbs\r
8 ' //\r
9 ' // Additional files required:  Elevate.cmd\r
10 ' //\r
11 ' // Purpose:   To provide a command line method of launching applications that\r
12 ' //            prompt for elevation (Run as Administrator) on Windows Vista.\r
13 ' //\r
14 ' // Usage:     (Not used directly.  Launched from Elevate.cmd.)\r
15 ' //\r
16 ' // Version:   1.0.1\r
17 ' // Date :     01/03/2007\r
18 ' //\r
19 ' // History:\r
20 ' // 1.0.0   01/02/2007  Created initial version.\r
21 ' // 1.0.1   01/03/2007  Added detailed usage output.\r
22 ' //\r
23 ' // ***** End Header *****\r
24 ' //***************************************************************************\r
25 \r
26 \r
27 Set objShell = CreateObject("Shell.Application")\r
28 Set objWshShell = WScript.CreateObject("WScript.Shell")\r
29 Set objWshProcessEnv = objWshShell.Environment("PROCESS")\r
30 \r
31 ' Get raw command line agruments and first argument from Elevate.cmd passed\r
32 ' in through environment variables.\r
33 strCommandLine = objWshProcessEnv("ELEVATE_CMDLINE")\r
34 strApplication = objWshProcessEnv("ELEVATE_APP")\r
35 strArguments = Right(strCommandLine, (Len(strCommandLine) - Len(strApplication)))\r
36 \r
37 If (WScript.Arguments.Count >= 1) Then\r
38     strFlag = WScript.Arguments(0)\r
39     If (strFlag = "") OR (strFlag="help") OR (strFlag="/h") OR (strFlag="\h") OR (strFlag="-h") _\r
40         OR (strFlag = "\?") OR (strFlag = "/?") OR (strFlag = "-?") OR (strFlag="h") _\r
41         OR (strFlag = "?") Then\r
42         DisplayUsage\r
43         WScript.Quit\r
44     Else\r
45         objShell.ShellExecute strApplication, strArguments, "", "runas"\r
46     End If\r
47 Else\r
48     DisplayUsage\r
49     WScript.Quit\r
50 End If\r
51 \r
52 \r
53 Sub DisplayUsage\r
54 \r
55     WScript.Echo "Elevate - Elevation Command Line Tool for Windows Vista" & vbCrLf & _\r
56                  "" & vbCrLf & _\r
57                  "Purpose:" & vbCrLf & _\r
58                  "--------" & vbCrLf & _\r
59                  "To launch applications that prompt for elevation (i.e. Run as Administrator)" & vbCrLf & _\r
60                  "from the command line, a script, or the Run box." & vbCrLf & _\r
61                  "" & vbCrLf & _\r
62                  "Usage:   " & vbCrLf & _\r
63                  "" & vbCrLf & _\r
64                  "    elevate application <arguments>" & vbCrLf & _\r
65                  "" & vbCrLf & _\r
66                  "" & vbCrLf & _\r
67                  "Sample usage:" & vbCrLf & _\r
68                  "" & vbCrLf & _\r
69                  "    elevate notepad ""C:\Windows\win.ini""" & vbCrLf & _\r
70                  "" & vbCrLf & _\r
71                  "    elevate cmd /k cd ""C:\Program Files""" & vbCrLf & _\r
72                  "" & vbCrLf & _\r
73                  "    elevate powershell -NoExit -Command Set-Location 'C:\Windows'" & vbCrLf & _\r
74                  "" & vbCrLf & _\r
75                  "" & vbCrLf & _\r
76                  "Usage with scripts: When using the elevate command with scripts such as" & vbCrLf & _\r
77                  "Windows Script Host or Windows PowerShell scripts, you should specify" & vbCrLf & _\r
78                  "the script host executable (i.e., wscript, cscript, powershell) as the " & vbCrLf & _\r
79                  "application." & vbCrLf & _\r
80                  "" & vbCrLf & _\r
81                  "Sample usage with scripts:" & vbCrLf & _\r
82                  "" & vbCrLf & _\r
83                  "    elevate wscript ""C:\windows\system32\slmgr.vbs"" \96dli" & vbCrLf & _\r
84                  "" & vbCrLf & _\r
85                  "    elevate powershell -NoExit -Command & 'C:\Temp\Test.ps1'" & vbCrLf & _\r
86                  "" & vbCrLf & _\r
87                  "" & vbCrLf & _\r
88                  "The elevate command consists of the following files:" & vbCrLf & _\r
89                  "" & vbCrLf & _\r
90                  "    elevate.cmd" & vbCrLf & _\r
91                  "    elevate.vbs" & vbCrLf\r
92 \r
93 End Sub\r