Link to home
Start Free TrialLog in
Avatar of chadmanvb
chadmanvb

asked on

launch a vbs script as admin with visua basic .net

I have a .net application that i would like to use to launch some vbs scripts as an admin.  Normally I launch a command window within Windows 7 as administrator and can run the vbs scripts.  I have tried to use the below code, but it's not working.  Any ideas?


 Dim starthttpWatch As New System.Diagnostics.Process
            starthttpWatch.StartInfo.WorkingDirectory = "c:\"
            starthttpWatch.StartInfo.RedirectStandardOutput = True
            starthttpWatch.StartInfo.FileName = "cmd.exe"
            starthttpWatch.StartInfo.Arguments = "\c C:\Temp\WorkstationMonitor\Enable-httpwatch-v2.0.vbs"
            starthttpWatch.StartInfo.UseShellExecute = False
            starthttpWatch.StartInfo.CreateNoWindow = True
            starthttpWatch.StartInfo.UserName = strPPAccount
            starthttpWatch.StartInfo.Password = pwd
            starthttpWatch.Start()
            starthttpWatch.WaitForExit()
            starthttpWatch.Dispose()
Avatar of chadmanvb
chadmanvb

ASKER

I see I can do this with runas, but I would prefer for the user to not enter the creds again.  I already have them do this when my aplication starts to cache the password to run other task.  This works, but I prefer a way to avoid the dialog box since I already have the user/passwork within the application

Dim procInfo As New ProcessStartInfo()
            procInfo.UseShellExecute = True
            procInfo.FileName = "CMD.exe"
            procInfo.Arguments = "/c C:\Temp\WorkstationMonitor\Enable-httpwatch-v2.0.vbs " & strWorkstation
            procInfo.WorkingDirectory = Application.StartupPath
            procInfo.Verb = "runas"
            Process.Start(procInfo)
ASKER CERTIFIED SOLUTION
Avatar of Nasir Razzaq
Nasir Razzaq
Flag of United Kingdom of Great Britain and Northern Ireland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Thanks!  That did work after I set usershellexecute to false.  I was trying another appoach, but still not sure what way I want to use.  I was looking at just starting my app as a admin by changing the
  <requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />

in the app.manifest.  This also seems to work well and forces users to enter the user/password the first time they launch the application.