Solved

Help writing a VBS  or Batch script.

Posted on 2008-10-23
2
222 Views
Last Modified: 2012-06-21
I need a VBS script or Batch Script that will allow me to run Internet explorer as a different user. The user name would be a local user name and the password would need to be encrypted so that the person I need to give this to can't edit the file and see what the password is.

Anyone got anything like this?
0
Comment
Question by:laconicbehaviour
2 Comments
 
LVL 5

Accepted Solution

by:
si_shamil earned 500 total points
ID: 22791960
you can use CPAU utility to create an encrypted job to be ran in different security context
http://www.joeware.net/freetools/tools/cpau/index.htm
0
 
LVL 11

Expert Comment

by:darrenmcwi
ID: 22804295
You could use something liike the existing script which uses "RUNAS" then sends the password to the window it runs in. You'd just modify the script to NOT take the user/name and password as arguements, instead embedding them right in the script file. You can then use Microsoft's freely downloadable Script Encoder utility to encrypt the entire script so you don't see the password, I've used this several times in the past.

Another alternative is to use RUNAS from a script only use the /savecred arguement. The first time it'll prompt for and cache the password. Future runs the password will be retrieved from the cache and you won't be prompted.
'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 <3 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 

Open in new window

0

Featured Post

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

When it comes to writing scripts for a Client/Server computing environment it is essential to consider some way of enabling the authentication functionality within a script. This sort of consideration mainly comes into the picture when we are dealin…
You may have already been in the need to update a whole folder stucture using a script. Robocopy does it well and even provides a list of non-updated files in a log (if asked to). Generally those files that were locked by a user or a process by the …
When you create an app prototype with Adobe XD, you can insert system screens -- sharing or Control Center, for example -- with just a few clicks. This video shows you how. You can take the full course on Experts Exchange at http://bit.ly/XDcourse.
A short film showing how OnPage and Connectwise integration works.

929 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now