SCCM Application Packager
This Application is a PowerShell Script that can be used to create applications in SCCM, it takes care of downloading, packaging, distributing and deploying the applications described in XML "recipe" files. The goal is to be able to package any frequently updating application with little to no work after creating the recipes.
- Download the Project
- Set up your SCCM Preferences in the SCCMPackager.prefs file (it is a standard XML file)
- Check out the Recipes in the "Disabled" Folder, Modify them to your needs, and copy them into the "Recipes" Folder (Note: Some Recipes Require 7-Zip which is not included)
- Run the SCCMPackager.ps1 - This will automatically create an Application Requirements Template App and Appropriate Global Conditions. Check the ExtraFiles\Scripts folder for more information
- Run the SCCMPackager.ps1 once more - This will add the requirements to the Application Requirements Template App, and begin packaging software
- Future runs will update the Application Requirements Template app's requirements list.
SCCM ConfigMgr Console - Tested on SCCM 1710
Some Recipes require the 7za.exe from the 7-Zip Project, which can be found here: Project Page - 7za.exe should be placed in the same folder as the SCCMPackager.ps1 Application.
Setting Up the Requirements Template Application
- Run the SCCMPackager.ps1 with the "_Application Requirements Template.xml" in the Recipes folder. The first run will create the "Application Requirements Template 1" Application in SCCM and exit.
- Run the SCCMPackager.ps1 with the "_Application Requirements Template.xml" in the Recipes folder again. This run will add all Requiremtents to the template Application. It will then process all other recipes as normal.
Enabling the Packaging of Microsoft Surface Device Drivers and Firmware
- Open the "_Application Requirements Template.xml" and remove the comments on the following lines: #Add-LogContent "Updating Microsoft Surface Drivers Recipes"; #Invoke-Expression ".\ExtraFiles\Scripts\CreateMicrosoftDriverRecipes.ps1";
- Navigate to ".\ExtraFiles\Scripts" and open "MicrosoftDrivers.csv", Remove any Drivers that you want packaged, All models currently supported by the script should already be there.
- Run the SCCMPackager App as usual (with the "_Application Requirements Template.xml" Recipe in the recipes folder), the first run will create the recipes and put them in the recipes folder, future runs will update the recipes and download the drivers.
Feel free to create your own Recipes, Contribute to the main code, or provide feedback!
- If you have questions feel free to post an issue with the "Question" label here on GitHub, or ask me on Twitter (publicly is preferred, but I don't mind DMs)
- Andrew Jimenez - Main Author - asjimene
See also the list of contributors who participated in this project.
Used and Modified code from the following, Thanks to all their work:
Janik von Rots - Copy-CMDeploymentTypeRule
Jaap Brasser - Get-ExtensionAttribute
Nickolaj Andersen - Get-MSIInfo
This Project does not provide Applications directly, Recipies provide the links to the Applications. Downloading and packaging software using this tool does not grant you a license for the software. Please ensure you are properly licensed for all software you package and distribute!