Avatar of TropicalPriest
TropicalPriest
 asked on

Running VBscript as a local admin

I'm trying to have this vbscript run as a admin account that is local to every machine on our network. "!Admin". How do i get this to work without having to put the specific local hostname of each machine and where would i have the password in the script for the admin account not to prompt?
RemoveVirtScroll.vbs
Microsoft Legacy OSWindows OSWindows 7

Avatar of undefined
Last Comment
CSI-Windows_com

8/22/2022 - Mon
CSI-Windows_com

Will the script be run by users who do not have admin rights or will it be run by a background service of the software distribution system?
TropicalPriest

ASKER
the script will be run remotely through a Kaseya server. No user interaction.
CSI-Windows_com

If the script is configuring something that is NOT part of a user profile, you can configure it as a "System Startup" script to get admin rights.

In Group Policy Editor this is under "Computer Configuration > Windows Settings > Scripts (Startup/Shutdown) > Startup"

A reboot will be required to run the script.
All of life is about relationships, and EE has made a viirtual community a real community. It lifts everyone's boat
William Peck
CSI-Windows_com

I am not familiar with Kaseya server - but most likely it runs your scripts using a background process that already has admin rights.  

Services under Windows 7 DO NOT HAVE UAC even when UAC is enabled.

In otherwords services with admin rights work just like they did on XP.

This is called an "unfiltered token."

If, however, Kaseya is actually running the script silent, but under the logged in user's non-admin profile - that is a completely different problem and I can propose some solutions for it as well.
CSI-Windows_com

Forgot to mention - if you are sending it through a background service, the best way to test what your script (or any program for that matter) will do in regard to UAC is to run it in an elevated command prompt.  If you get no UAC prompt there, then you have a 99.999% chance you won't get one running under a service that is logged in as SYSTEM or any account with local admin.
TropicalPriest

ASKER
i need something like this,

Set objShell = CreateObject("WScript.Shell")
WshShell.Run """%systemroot%\system32\runas.exe"" /user:(domian here)\testtaker-team ""%programfiles(x86)%\testtkr\testtkr.exe""", 1, false

objShell.Exec("rundll32.exe ""C:\Program Files\Lenovo\VIRTSCRL\cleanup.dll"",InfUninstall  DefaultUninstall.LH 132 C:\Program Files\Lenovo\VIRTSCRL\tpdu_vs.inf")

The second part is the command i want to run. That part works when i run it as my domain admin account locally. the first part is a run as domain account example but i don't know how to change that to reflect the use of a local admin account then run the second line.
⚡ FREE TRIAL OFFER
Try out a week of full access for free.
Find out why thousands trust the EE community with their toughest problems.
CSI-Windows_com

Should be:

Set objShell = CreateObject("WScript.Shell")
WshShell.Run """%systemroot%\system32\runas.exe"" /user:(domian here)\testtaker-team "rundll32.exe ""C:\Program Files\Lenovo\VIRTSCRL\cleanup.dll"",InfUninstall  DefaultUninstall.LH 132 ""C:\Program Files\Lenovo\VIRTSCRL\tpdu_vs.inf"" ", 1, false
TropicalPriest

ASKER
So Admin account is called "!Admin" how do i set it to use that account?

/user:localhost\!Admin?

When using these scripts there is now need to put the password for the specified account anywhere in the script?
TropicalPriest

ASKER
I've been trying the following and i've had no luck.

Set objShell = CreateObject("WScript.Shell")
WshShell.Run """%systemroot%\system32\runas.exe"" /user:teamschools\!Admin "rundll32.exe ""C:\Program Files\Lenovo\VIRTSCRL\cleanup.dll"",InfUninstall  DefaultUninstall.LH 132 ""C:\Program Files\Lenovo\VIRTSCRL\tpdu_vs.inf"" ", 1, false
I started with Experts Exchange in 2004 and it's been a mainstay of my professional computing life since. It helped me launch a career as a programmer / Oracle data analyst
William Peck
ASKER CERTIFIED SOLUTION
CSI-Windows_com

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
CSI-Windows_com

If the group of machines is small enough to do manually from your desk, you could also use psexec to remotely execute commands with admin.

http://live.sysinternals.com/psexec.exe