There are a few companies I really like, Recast Software with their reports and right click tools, 2PintSoftware, leading the way with their peering and delivery optimization tools, and Patch My PC with their amazing patching service.
I have a personal lab for testing ideas and staying current with technology. It consists of a HyperV host, several VM clients, and several physical clients. During OSD, I install several applications using a PowerShell script [Blog | GitHub] leveraging Ninite.com, but once installed, I needed another method to keep these devices patched (along with my family's personal devices), that's where Patch My PC Home Updater comes in!
Plan: Use Patch My PC Home Updater to keep lab & personal devices updated.
Solution: Deploy Patch My PC Home Updater to devices, configure, and create scheduled task using PowerShell Script. - Completely silent and hidden from user
- Download Patch MY PC Home Updater to device
- Configure Device to Patch & Install any other Apps I want
- Create Scheduled Task to Run Home Updater weekly.
Deployment Mechanism: Intune - Proactive Remediation - Logging to c:\programdata\intune\logs
Detection Script [GitHub]: Looks for Patch My PC scheduled task, if not found, sets non-compliant (Exit 1)
Remediation Script [GitHub]
- Downloads the Home Updater: https://patchmypc.com/freeupdater/PatchMyPC.exe
- Creates Custom PatchMyPC.ini configuration file
- Creates Scheduled Task
Break down - Variables:
This tells where the log goes, where to find the home updater, where to "install" the updater and the Scheduled Task Name.
Break down - PatchMyPC.ini File: (small portion)
This allows you to set any of the settings you want the tool to use. Feel free to manually create one of these with the tool itself, then copy your custom settings into this area.
By Default, the updater will search your device and update anything it finds, however, you can also have it update (or install) anything that isn't currently already installed by "uncommenting" the line. In this example, I uncomment VLC so that it will be installed and updated even if it isn't on the machine.
At the end of the script, it then builds the config file based on that information:
Break down - Scheduled Task:
Here it creates the Scheduled Task based on the Name in the Variable (PatchMyPC). It runs daily at 9:15PM, under the SYSTEM Context. It will only run if Network Connection present and will time out after 30 minutes.
And that's it. Once you've added it to your proactive remediations (or ConfigMgr Configuration Items), it will then do the rest for you.
On the Endpoint
When Scheduled Task Runs:
There you have it, a simple way to keep your apps in your Lab or Personal systems updated.
I highly recommend having your IT group look into their enterprise solution for your work environment. They have a great offering and amazing support.
I receive no funding or "swag" for blogging about this tool, but it's a great product and wanted to share how I've leveraged to make my life easier and my personal devices more secure.