Solved

Running VBscript as a local admin

Posted on 2012-03-19
13
1,734 Views
Last Modified: 2012-04-18
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
0
Comment
Question by:TropicalPriest
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 7
  • 4
13 Comments
 
LVL 10

Expert Comment

by:CSI-Windows_com
ID: 37738197
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?
0
 

Author Comment

by:TropicalPriest
ID: 37738214
the script will be run remotely through a Kaseya server. No user interaction.
0
 
LVL 10

Expert Comment

by:CSI-Windows_com
ID: 37738221
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.
0
Turn Insights into Action

Communication across every corner of your business is essential to increase the velocity of your application delivery and support pipeline. Automate, standardize, and contextualize your communication processes with xMatters.

 
LVL 10

Expert Comment

by:CSI-Windows_com
ID: 37738237
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.
0
 
LVL 10

Expert Comment

by:CSI-Windows_com
ID: 37738249
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.
0
 

Author Comment

by:TropicalPriest
ID: 37740228
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.
0
 
LVL 10

Expert Comment

by:CSI-Windows_com
ID: 37740292
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
0
 

Author Comment

by:TropicalPriest
ID: 37740312
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?
0
 

Author Comment

by:TropicalPriest
ID: 37740568
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
0
 
LVL 10

Accepted Solution

by:
CSI-Windows_com earned 410 total points
ID: 37742661
TropicalPriest,
There is no way to automate the runas command prompt.

I realize you and I never caught up on how you are running the script on clients.  Are you going to run the script through Kaseya's windows service on each desktop?

If so, then you don't need "runas" at all - your entire script will run with admin rights and there is no need to attempt to do a runas with an admin account.

Make sure you have tested your script through the distribution system or under an elevated CMD prompt WITHOUT the runas part - if it works, you're done.

If it does not work, there are many tools that do a secure runas with alternate credentials:

http://www.steelsonic.com/steelrunas.htm - this is not free, but the last freeware version (1.2) can be found here: http://www.freewarefiles.com/downloads_counter.php?programid=26832

http://www.joeware.net/freetools/tools/cpau/

http://www.chessware.ch/runitas/

There is also a free enterprise tool that allows you to configure anything to run with admin credentials via group policy - a little bit fussy if this is a one time need:

http://www.scriptlogic.com/products/privilegeauthority/
0
 
LVL 10

Expert Comment

by:CSI-Windows_com
ID: 37742685
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
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

A project that enables an administrator to perform actions within a user session context not just at the time of login but any time later on day(s) or week(s) later.
Configuring Remote Assistance for use with SCCM
The viewer will learn how to successfully create a multiboot device using the SARDU utility on Windows 7. Start the SARDU utility: Change the image directory to wherever you store your ISOs, this will prevent you from having 2 copies of an ISO wit…
The viewer will learn how to successfully download and install the SARDU utility on Windows 7, without downloading adware.

717 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