Question

Locked

Run As with a vbscript?

By jimmy-jam ·
I am running a Windows XP Pro station. I have a vbscript that I am trying to run and I want to run it as a different user. I did shift right click but I do not get a run as option. Can you run a vbscript as a different user and if so how?

This conversation is currently closed to new comments.

7 total posts (Page 1 of 1)  
| Thread display: Collapse - | Expand +

All Answers

Collapse -

Hi jimmy-jam , try this out.......

by Peconet Tietokoneet In reply to Run As with a vbscript?

Runas Replacement

RUNAS in Windows 2000 is nice, but not very script friendly. Unlike SU from the NT Resource Kit, you can't pass a password. Here is an alternative.


You can use the following script to execute a command via RUNAS. You might find this helpful for yourself, or run it from a batch file (although the password will be in clear text). Another alternative is to hardcode the command, username and password in the script, then use the Script Encoder (download from http://msdn.microsoft.com/scripting)
http://tinyurl.com/bw58o

to encode it. You run the script the same way, the file will just have a different extension: cscript vbrunas.vbe. Then if you have repeatable admin tasks you or your users, just execute the script.

'Start of Script
'VBRUNAS.VBS
'v1.2 March 2001
'Jeffery Hicks
'jhicks@quilogy.com http://www.quilogy.com
'USAGE: cscript|wscript VBRUNAS.VBS Username Password Command
'DESC: A RUNAS replacement to take password at a command prompt.
'NOTES: This is meant to be used for local access. If you want to run a command
'across the network as another user, you must add the /NETONLY switch to the RUNAS
'command.

' *********************************************************************************
' * THIS PROGRAM IS OFFERED AS IS AND MAY BE FREELY MODIFIED OR ALTERED AS *
' * NECESSARY TO MEET YOUR NEEDS. THE AUTHOR MAKES NO GUARANTEES OR WARRANTIES, *
' * EXPRESS, IMPLIED OR OF ANY OTHER KIND TO THIS CODE OR ANY USER MODIFICATIONS. *
' * DO NOT USE IN A PRODUCTION ENVIRONMENT UNTIL YOU HAVE TESTED IN A SECURED LAB *
' * ENVIRONMENT. USE AT YOUR OWN RISK. *
' *********************************************************************************

On Error Resume Next
dim WshShell,oArgs,FSO

set oArgs=wscript.Arguments

if InStr(oArgs(0),"?")<>0 then
wscript.echo VBCRLF & "? HELP ?" & VBCRLF
Usage
end if

if oArgs.Count then
wscript.echo VBCRLF & "! Usage Error !" & VBCRLF
Usage
end if

sUser=oArgs(0)
sPass=oArgs(1)&VBCRLF
sCmd=oArgs(2)

set WshShell = CreateObject("WScript.Shell")
set WshEnv = WshShell.Environment("Process")
WinPath = WshEnv("SystemRoot")&"\System32\runas.exe"
set FSO = CreateObject("Scripting.FileSystemObject")

if FSO.FileExists(winpath) then
'wscript.echo winpath & " " & "verified"
else
wscript.echo "!! ERROR !!" & VBCRLF & "Can't find or verify " & winpath &"." & VBCRLF & "You must be running Windows 2000 for this script to work."
set WshShell=Nothing
set WshEnv=Nothing
set oArgs=Nothing
set FSO=Nothing
wscript.quit
end if

rc=WshShell.Run("runas /user:" & sUser & " " & CHR(34) & sCmd & CHR(34), 2, FALSE)
Wscript.Sleep 30 'need to give time for window to open.
WshShell.AppActivate(WinPath) 'make sure we grab the right window to send password to
WshShell.SendKeys sPass 'send the password to the waiting window.

set WshShell=Nothing
set oArgs=Nothing
set WshEnv=Nothing
set FSO=Nothing

wscript.quit

'************************
'* Usage Subroutine *
'************************
Sub Usage()
On Error Resume Next
msg="Usage: cscript|wscript vbrunas.vbs Username Password Command" & VBCRLF & VBCRLF & "You should use the full path where necessary and put long file names or commands" & VBCRLF & "with parameters in quotes" & VBCRLF & VBCRLF &"For example:" & VBCRLF &" cscript vbrunas.vbs quilogy\jhicks luckydog e:\scripts\admin.vbs" & VBCRLF & VBCRLF &" cscript vbrunas.vbs quilogy\jhicks luckydog " & CHR(34) &"e:\program files\scripts\admin.vbs 1stParameter 2ndParameter" & CHR(34)& VBCRLF & VBCRLF & VBCLRF & "cscript vbrunas.vbs /?|-? will display this message."

wscript.echo msg

wscript.quit

end sub
'End of Script

Hope all works out for you.

Collapse -

I see you started over again

by jimmy-jam In reply to Hi jimmy-jam , try this o ...

only 10 thumbs so far, trying to see how quickly you can hit 200 again?

Collapse -

Yes, sort of. :)

Collapse -

I figured it out... sort of

by jimmy-jam In reply to Run As with a vbscript?

I used the following work around

I created a .bat file that contained the following line

cd\
wscript script.vbs

I then used runas from the command line to run the batch file

c:\runas /netonly /user:user@domain.org c:\batchfile.bat


Just an FYI if anyone else has the same issue. If anyone knows a better way I would love to hear that as well.

Cheers!

Collapse -

If it works then all is good..

by Peconet Tietokoneet In reply to I figured it out... sort ...
Collapse -

Reponse To Answer

by vinny.philip In reply to I figured it out... sort ...

Hi,

The above script works perfectly if i run once. We have xp users who don't have admin rights so the above script is supposed to run as a different user and that works great..but when i make the login script in gpo to run more than one or two run-as vbs script the script wont run and it pauses me to enter the password

any ideas.

Tx

Back to Windows Forum
7 total posts (Page 1 of 1)  

Related Discussions

Related Forums