Link to home
Start Free TrialLog in
Avatar of Robert Perez-Corona
Robert Perez-CoronaFlag for United States of America

asked on

Powershell to execute simultaneous remote installation across multiple servers

I am trying to remotely execute an installation file (.msi) on about 500 windows servers.

I tested using psexec and it worked fine. I ran the following script which managed to install the msi which resides on my network share on both remote computers below. After the .msi there are some flags I need to specify since it is a static installation. Again the psexec script below works with on exception. It install this on one computer at a time. It executes on x.x.x.23 once its done it runs on x.x.x.24...

psexec \\172.22.173.23,172.22.173.24 -u MYUSERNAME -p MYPASSWORD msiexec.exe /i \\172.22.173.22\pack\splunkforwarder-6.2.0-237341-x64-release.msi RECEIVING_INDEXER="172.22.173.22:9997" WINEVENTLOG_APP_ENABLE=1 WINEVENTLOG_SEC_ENABLE=1 WINEVENTLOG_SYS_ENABLE=1 AGREETOLICENSE=YES /quiet


I was wondering if using powershell (more powerful) i can remotely execute this .msi file/flags on all my servers ( or perhaps 50 - 100 at a time) simultaneously?

I would rather have them call the .msi on the share concurrently rather than wait for one to be installed and then move on to the next server like when using psexec.

If its possible with powershell, where would I be able to find this script?

many thanks,

t
SOLUTION
Avatar of Mike Taylor
Mike Taylor
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
Avatar of Robert Perez-Corona

ASKER

Hi Mike,

Thanks for the feedback.

The issue is that the servers cannot be rebooted. In order to deploy this via a start up script like I first intended to, the servers have to be rebooted. The application itself doesn't require a reboot. However, if I am not mistaken, the gpo will require a reboot in order for the software installation to commence

So installing using psexec only calls one server at a time since it doesnt handle multi threading too well.

Based on your input i did find the script below from the link.

http://technet.microsoft.com/en-us/library/dd819505.aspx

invoke-command -computername Server01, Server02 -filepath c:\Scripts\DiskCollect.ps1

Would something like this work?

invoke-command -computername Server01, Server02 -filepath msiexec.exe /i \\172.22.173.22\pack\splunkforwarder-6.2.0-237341-x64-release.msi RECEIVING_INDEXER="172.22.173.22:9997" WINEVENTLOG_APP_ENABLE=1 WINEVENTLOG_SEC_ENABLE=1 WINEVENTLOG_SYS_ENABLE=1 AGREETOLICENSE=YES /quiet


I am trying to call the msiexec
ASKER CERTIFIED SOLUTION
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