Nezoic Posted September 3, 2008 Share Posted September 3, 2008 (edited) Does anyone know what is needed to run installs / scripts blindly on remote workstations? For instance, I if nobody is logged into a domain workstation(PC is sitting at login screen) is there a way to still run a script in the background of that PC, if so, what are the limitations? I know things like filecopy and whatnot can be run, but what about software installers? Can autoit still read Control ID and send click commands? The only solutions I've been able to come up with are costly enterprise solutions that require custom filecopy packages, i.e. you install the software while recording every change to the filesystem and registry, then create a package from that and simply copy over / extract the files remotely and reboot the PC. Are there any other solutions? Edited September 3, 2008 by Nezoic Link to comment Share on other sites More sharing options...
PsaltyDS Posted September 3, 2008 Share Posted September 3, 2008 Does anyone know what is needed to run installs / scripts blindly on remote workstations? For instance, I if nobody is logged into a domain workstation(PC is sitting at login screen) is there a way to still run a script in the background of that PC, if so, what are the limitations? I know things like filecopy and whatnot can be run, but what about software installers? Can autoit still read Control ID and send click commands?The only solutions I've been able to come up with are costly enterprise solutions that require custom filecopy packages, i.e. you install the software while recording every change to the filesystem and registry, then create a package from that and simply copy over / extract the files remotely and reboot the PC.Are there any other solutions?It's not even hard, provided you have the admin rights required. Just connect to the network share and copy the file over (i.e. \\ComputerName\C$\Temp\ScriptName.exe), then schedule a task to run it with SCHTASKS.exe (for XP/2003 or later). Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law Link to comment Share on other sites More sharing options...
Nezoic Posted September 3, 2008 Author Share Posted September 3, 2008 It's not even hard, provided you have the admin rights required. Just connect to the network share and copy the file over (i.e. \\ComputerName\C$\Temp\ScriptName.exe), then schedule a task to run it with SCHTASKS.exe (for XP/2003 or later). Right but, what about applications that you have created automated install via 'control clicks'? Say the script launches a setup.exe, can you still view controls on those? Will windows notice the installer application running and acuratly run the script to click on those controls?I guess what I'm asking is, would it be exactly the same as if a user was logged in? Link to comment Share on other sites More sharing options...
PsaltyDS Posted September 3, 2008 Share Posted September 3, 2008 Right but, what about applications that you have created automated install via 'control clicks'? Say the script launches a setup.exe, can you still view controls on those? Will windows notice the installer application running and acuratly run the script to click on those controls?I guess what I'm asking is, would it be exactly the same as if a user was logged in?No, it will not be exactly the same. I'm pretty sure anything that would normally work with a minimized/hidden window, like ControlClick() will work from a scheduled task. But anything that depends on an Active window, like WinWaitActive() or Send(), will not work. That's untested though, I haven't had to do it that way.If you need an actual desktop to run your script, then you can force an Auto Admin Logon by setting the registry entries up and forcing a reboot of the machine. The account used should have a very locked-down limited shell and would run the script, clean up the settings in the registry, and log off. Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law Link to comment Share on other sites More sharing options...
Nezoic Posted September 3, 2008 Author Share Posted September 3, 2008 No, it will not be exactly the same. I'm pretty sure anything that would normally work with a minimized/hidden window, like ControlClick() will work from a scheduled task. But anything that depends on an Active window, like WinWaitActive() or Send(), will not work. That's untested though, I haven't had to do it that way.If you need an actual desktop to run your script, then you can force an Auto Admin Logon by setting the registry entries up and forcing a reboot of the machine. The account used should have a very locked-down limited shell and would run the script, clean up the settings in the registry, and log off. Thanks, I'll proceed with testing, looks like I can make this work as is or with limited changes. Link to comment Share on other sites More sharing options...
Legacy99 Posted September 3, 2008 Share Posted September 3, 2008 You could use PSExec.exe to run a remote session. If you know the silent switches for your app, you would run them under that context. Link to comment Share on other sites More sharing options...
P388l3s Posted September 8, 2008 Share Posted September 8, 2008 Application installs without the use of a logged on user are possible... Depending on the installer type, such as .MSI or install shield, nsis etc. What you can do is create answer files for things like nsis, install shield and even .MSI if you have the tools. For Example if your installer is an install shield then instead of running the setup.exe run it from the commandline like so: C:\someprogram\setup.exe -R (or create a shortcut and add the -R) The capitaliztion of the R is intended!!!. install the program as you normally would, once the install is complete, go to the machines Windows dir and find the file setup.iss, copy this to your program folder ie C:\someprogram\setup.iss, now any machine that needs this software installed can use the following code instead: C:\someprogram\setup.exe -s I use these exact same steps all the time, I have only come across a few apps that will not work this way, usually they require special license keys that I can't enter into the registry first, or have broken installers that don't write the setup.iss or other answer files correctly. .MSI's are a little more complicated as MS relies on the package maintainer to support the silent switches, and hasn't really released official .MSI Transform tools for people to use (you can get a transform tool from their SDK but it's woefully inadequate). For more information on silent install switches and automated installs you really should look at msfn.org they have tons of documentation on the subject, I've been a member there for years. Hope this helps. Pebbles Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now