Dynamic Version Script Modifications

I feel like a lot of time could be saved if dynamic version scripts worked differently, currently my understanding of them is this.

The script runs, it downloads the installerfile to one of ImmyBot’s servers, checks the version, if the version is greater than the one installed on the computer it downloads the installer to the computer.

The problem with this is that it runs every single session/execution, wouldn’t it be better/faster to use a typical software deployment (one that you manually upload installers to) without a dynamic version detection script. You can then have a Cronjob that runs every night that will upload the latest installer to the software, by doing this you can completely elimenate the time it takes to get the newest version, only downside is that you could be installing an out of date version, but if you run the cron daily then you can only be a maximum of ~23 hours out of date.

I am already implementing this in our own deployments using Rewst (an automation tool) and selenium based python scripts to find the latest versions and upload them but I think it would be very benifical for ImmyBot to implement this (also means I wouldn’t have todo it).

By using this it would elimenate the time that it takes for every session to get the latest version, this isn’t a lot of time depending on the installers size however it can add up if you are running thousands of maintenance sessions and each check takes ~30 seconds.

Hey @Maddox_Greco that’s not how Dynamic Version scripts work in ImmyBot.

Caching is utilized so that vendor APIs are not repeatedly hit for every session because that can trigger DDoS protections from vendors’ apis.

When software is downloaded to a machine, and that version is discovered via a dynamic version script, the download to the machine does not come from ImmyBot’s repository, but from the vendor’s own website or CDN.

Source: Me–I am the author of the Get-DynamicVersion* functions in ImmyBot, and have written several hundred dynamic version scripts utilizing these functions in conjunction with in-built ImmyBot cmdlets that were created for caching purposes.

Sorry I didn’t realize, would it be possible to help me make a dynamic versions script for Sophos Connect? The software provided by ImmyBot doesn’t have a dynamic versions script.

I tried using this
Get-DynamicVersionsFromURL -URL "https://www.sophos.com/en-us/support/downloads/utm-downloads"
-VersionsURLPattern ‘(?Sophos export compliance check))’

But it times out.