Robert Perez-Corona
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.2 4 -u MYUSERNAME -p MYPASSWORD msiexec.exe /i \\172.22.173.22\pack\splun kforwarder -6.2.0-237 341-x64-re lease.msi RECEIVING_INDEXER="172.22. 173.22:999 7" 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
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.2
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
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
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\splun
I am trying to call the msiexec