Automate zoom meetings upgrade

i have zoom clients spread out throughout the organization
some are version 4.6, some are version 5.0.0 and so on and so forth

is it possible for me to make a query that will check everyone with zoom under 5.0.0 and will upgrade on that?

again i remind, some zoom clients are older and the version only 2 numbers, ie 4.6

the current latest version for that matter is 5.0.23502

thank you

2 Likes

Cast both sides of the comparison to version and it should all work.
Sorry, can’t give sample code, I’m only on my phone at the moment.

1 Like

This is a relevance example I’ve used for upgrade polices.

exists files whose (name of it = "x.exe" and version of it <= "x.x.x") of folder "x\x\x" of (program files x32 folders; program files x64 folders)

1 Like

I generally always have relevance such that the installer will only run if an older version of the software is present, or the software is not present at all.

1 Like

thank you. i’ve just learned that zoom can also exist under c:\users\username\appdata\roaming\zoom\bin\zoom.exe

so how can i query the userprofile folder? because each computer has it’s own userprofile folder

thank you. in my case, i need it only for computers who have the program installed, so i’m assuming i need one relevance for existence and one relevance for version

exists files whose (name of it = "Zoom.exe" and version of it <= "x.x.x") of folder "\AppData\Roaming\zoom\bin" of folder whose (exists folder "\AppData\Roaming\zoom\bin" of it) of folder "C:\Users" or exists files whose (name of it = "Zoom.exe" and version of it <= "x.x.x") of folder "Zoom\bin" of (program files x32 folders; program files x64 folders)

It is actually faster and easier just to use plurals:

files "Zoom.exe" of folders "Zoom\bin" of ( (folders "AppData\Roaming" of folders of folders "C:\Users"); (program files x32 folders; program files x64 folders) )

so there is 3 different ways to write the relevance, one for computers that have an older version installed, or for those that don’t have it installed, or for both.

If you are installing the system wide zoom, then you might only want to check for it in that location, since 1 user could have a newer version on the same system in which the system wide version is older. You could read the zoom version from the file or the registry. I generally prefer the registry but I’ll stick with the file as @MMosley has demoed.

exists versions whose(it < "x.x.x") of files "Zoom.exe" of folders "Zoom\bin" of (program files x32 folders; program files x64 folders)
1 Like

about this : ““Zoom.exe” and version of it <= “x.x.x”)”

doesn’t it have to be a file block query of “productversion” ?

No, the file inspector can return both the name and the version without the need for file block queries.

i get : Error: Singular expression refers to nonexistent object.

Have you tried jgstew’s relevance? It uses plurals all the way through

1 Like

i tried just one for testing. i did this :

exists versions whose(it <= "5,0,23502,0430") of files "Zoom.exe" of folders "Zoom\bin" of (program files x32 folders; program files x64 folders)

and the lookup according to “false”. because if i’ll use “true” then the group will list only computers with this version and above.
i get almost every computer on the network, most of doesn’t have zoom at all. so i must be doing something wrong.

You need to define to yourself what you are looking for.

The relevance above will report true if Zoom.exe exists with a version less than your threshold.

So if it reports false, either the version is acceptable or there is no Zoom installed.

yes, i was just thinking about that. my lookup should be only if there is a file, as first condition
so what’s the best way to approach this? maybe do 2 relevance? one for existence and one for version and force it to “all” and not “any”?

This will give True where an old version of Zoom is present. Assuming that the commas rather than periods in version numbers are valid for your computers’ region.

thank you all very much for you time :slight_smile:

@MMosley @JasonWalker @trn @jgstew @discobot

1 Like

Hi! To find out what I can do, say @discobot display help.

You may also be able to parse the registry which might have less overhead than checking the file system

Q: exists versions whose (it <= "5.0.23502.0430") of files (values "DisplayIcon" of keys whose ((value "DisplayName" of it as string as lowercase contains "zoom")) of (keys "Software\Microsoft\Windows\CurrentVersion\Uninstall" of keys of key "HKEY_USERS" of registry) as string) 
A: True
T: 1.148 ms
I: singular boolean
2 Likes

one more question. i didn’t do it for a while. i need to create a ReApply task for it. i don’t remember the syntax for prefetching an msi file that resides on a network share

i want to do a task with no end date, that it’s action script will be fetching an msi installer that resides on a network share and push it to targets (in that case, the computer group that has the relevance).