VBScripts and UAC elevation (system after visa)

Source: Internet
Author: User

In the past two days, we only need to write some vbs scripts to know that vbs cannot pop up the UAC window when we need to increase access permissions, just like other executable files, how can I use UAC to enhance the access permission of vbs scripts?

I checked some information and sorted out the results:

First:

If WScript.Arguments.length =0 Then  Set objShell = CreateObject("Shell.Application")  'Pass a bogus argument with leading blank space, say [ uac]  objShell.ShellExecute "wscript.exe", Chr(34) & _  WScript.ScriptFullName & Chr(34) & " uac", "", "runas", 1Else  'Add your code hereEnd If

Second:

Set objShell = CreateObject("Shell.Application")Set FSO = CreateObject("Scripting.FileSystemObject")strPath = FSO.GetParentFolderName (WScript.ScriptFullName)If FSO.FileExists(strPath & "\MAIN.VBS") Then     objShell.ShellExecute "wscript.exe", _         Chr(34) & strPath & "\MAIN.VBS" & Chr(34), "", "runas", 1Else     MsgBox "Script file MAIN.VBS not found"End If 

Third:

'Checks if the script is running elevated (UAC)function isElevated      Set shell = CreateObject("WScript.Shell")      Set whoami = shell.Exec("whoami /groups")      Set whoamiOutput = whoami.StdOut      strWhoamiOutput = whoamiOutput.ReadAll       If InStr(1, strWhoamiOutput, "S-1-16-12288", vbTextCompare) Then        isElevated = True      Else        isElevated = False      End Ifend function'Re-runs the process prompting for priv elevation on re-runsub uacPrompt    'Check if we need to run in C or W script  interpreter = "wscript.exe"  If Instr(1, WScript.FullName, "CScript", vbTextCompare) = 0 Then    interpreter = "wscript.exe"  else    interpreter = "cscript.exe"  end if  'Start a new instance with an elevation prompt first  Set shellApp = CreateObject("Shell.Application")  shellApp.ShellExecute interpreter, Chr(34) & WScript.ScriptFullName & Chr(34) & " uac", "", "runas", 1  'End the non-elevated instance  WScript.Quitend sub'Make sure we are running elevated, prompt if notif not isElevated Then uacPrompt'Add your code hereMsgBox "hello world"

Reference address:

Http://www.winhelponline.com/articles/185/1/VBScripts-and-UAC-elevation.html

Http://www.kellestine.com/self-elevate-vbscript/




Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.