In May 2021, I wrote an Article regarding OSDeployment through the Cloud using OSDCloud from David Segura. While this works great we got some requests to extend this for some commonly used Applications like Adobe Acrobat Reader, VLC Player, 7 Zip, Google Chrome, M365 Apps, Microsoft Teams, TeamViewer, Notepad++, Mozilla Firefox and many more…
For most companies managing commonly used applications is very time consuming (independent of the management solutions that is used). You have to download the applications, create software releases, find the „correct“ commandline. Most of the commonly used applications are updated by the vendor nearly on a monthly basis – this is where Package Managers like Winget, Evergreen, and Chocolatey Automatic Package Updater Module come into play.
The other way of keeping applications „up-to-date“ and preventing security issues is to have a strong Patch Management Solution that supports the commonly used 3rd Party Applications.
While I´m aware of some disadvantages using this method there are also many advantages using it but this is a completely different discussion and this will not be covered in this Blogpost.
I decided to take a look at the famous Powershell Evergreen module from Aaron Parker, Bronson Magnan and Trond Eric Haarvarstein.
In this Blogpost I´ll leverage the Powershell Evergreen script from Manuel Winkel to install commonly used applications.
*„Evergreen is a simple PowerShell module to return the latest version and download URLs for a set of common enterprise Windows applications. The module consists of a number of simple functions to use in scripts when performing several tasks including:
- Retrieve the latest version of an application when compare against a version already installed or downloaded
- Return the URL for the latest version of the application if you need to download it locally for installation or deployment„
When you start the downloaded Evergreen.ps1 (run as Admin) script you are able to select the applications you want to install. You are also able to select the language, architecture and the machine type.
In this example we are installing 7 Zip, Adobe Reader DC, Google Chrome, Citrix Workspace App, Microsoft M365 Apps (O365), Mozilla Firefox, Notepad ++ and VLC Player.
For some applications like Citrix Workspace App you can select additional options like Long Term Service Release (LTSR) or Current Release. For Microsoft 365 Apps you are able to select the Channel (Semi-Annual Enterprise (Preview), Semi-Annual Enterprise, Current, Current (Preview), Monthly Enterprise and for Mozilla Firefox you can decide between the Current or ESR Version.
When you are ready with your selection click save in the lower right corner. This will generate a file called LastSetting.txt. When you open this file you will see some numbers and True or False entries depending on your selection.
This file (LastSetting.txt) could be used as „answer file“ for the script to install the selected application in the GUI. To use the LastSetting.txt as an answer file just start Evergreen.ps1 using the parameters -list and -file (see screenhot below…)
Before we are able to run the job we have to create a folder – in this example on the SMP Server – and copy the downloaded Evergreen script and all needed file to this location.
To run the Powershell Module and install application I´ve created an example job in the SMP Console using the following Tasks…
The job contains the following Tasks:
Every time the Evergreen Powershell script is executed a folder called _Install Logs will be created and a folder for each application with the necessary sourcefiles for the application. Here is a screenshot
The Evergreen Powershell Module could be used in muliple ways, this is just an example…. there are many more possibilities.
Things to consider
If installing Software using the Evergreen Powershell Script Software Releases are not created on your SMP Server, so there is no ability to use for example Detection Rules, Applicability Rules and the Software Portal for this applications.
This method is a very dynamic way of installing applications – If you have to / want to stay on a specific version of an application this might be a problem.
If you have to make customizations for the applications listed in the Evergreen Powershell script you have to modify the Evergreen Powershell script.
It may make sense to cleanup the application sourcefiles directories of the downloaded applications after they are installed on the Client.
Evergreen Script – Update your Software, the lazy way – by Manuel Winkel
Evergreen Documentation – by Aaron Parker