Software Deployment w/ PSMANAGE Scripts

One of the features that I’ve added to my PSMANAGE collection of PowerShell scripts, is the ability to mass deploy silent install software packages to computers. One of the functions within the PSMANAGE server scripts creates two empty SharePoint lists. One is called Packages, the other is called Tasks.

The Packages list is meant to store one or more references to network-shared software installation files, along with some details such as what name will show up in Programs and Features once it’s installed.

The Tasks list is meant to be a place to assign one or more packages to a computer that is currently phoning home with these PSMANAGE scripts.

To make it easier to create these tasks, I’ve put together two PowerShell scripting tools called “MassInstallPackage” and “MultiplePackageInstaller”. These only work with the PSMANAGE SharePoint lists mentioned above, but as long as you have that in place you can start using either of these. I use them with my LaunchPad script tool, but you can also call them directly if you prefer…

 

psmmassinstalling01
The MultiplePackageInstaller script, useful when you want to install one or more applications to a single computer.

 

psmmassinstalling02
The MassInstallPackage script, useful when you want to install a single application to many computers.

 

psmmassinstalling03
The MultiplePackageInstaller form, where you can choose a computer from a drop-down list and then control-click or shift-click multiple packages. You click the Update List button, then once satisfied you click the Create Tasks button.

 

psmmassinstalling05
The MassInstallPackage form, where you can choose a software package from a drop-down list and then control-click or shift-click multiple computers. You click the Update List button, then once satisfied you click the Create Tasks button.

 

psmmassinstalling04
Both scripts will populate the Tasks list in SharePoint, and then once the computers phone home, they will pick up their tasks, perform them, and then update their individual tasks based on the outcome.

 

To get this setup in your existing PSMANAGE environment…

  1. Get the PSMANAGE scripts installed and running. Without that, this won’t work.
  2. In the PSMANAGE-CentralServer-Imports.ps1 file, go to the Get-PSManageCentralServerStarted() function and uncomment the New-PSManageListsPackagesTasks line.
  3. Wait for your server to run on the next scheduled time for your job, or run it manually.
  4. You then need to access your new empty PSMANAGE-Packages list and enter one or more silent install packages into the list.
  5. Then at that point you can use these scripting tools to create new tasks!
  6. PS you can also just directly create tasks in your new empty PSMANAGE-Tasks list too, but this script makes it much easier to make tasks for many computers seamlessly.

I put them both up on my GitHub section…
https://github.com/gregbesso/PowerShell-MultiplePackageInstaller

https://github.com/gregbesso/PowerShell-MassInstallPackage

 

Check out the other pages related to these PSMANAGE scripts…