PowerShell API module


#1

Please provide a PowerShell module for your API. Thanks.


#2

Hi Joe,

thanks for reaching Zoom, could I get more details? Why you want this? What’s the use case?

Thanks

Wei

 


#3

I think this sums up the reason and then below an example of use case.

What does it mean if your product doesn’t have a PowerShell module, but may need integration with the wider Microsoft ecosystem?

  • Admins and engineers across the industry waste time and duplicated effort attempting to use your API or binaries through PowerShell
  • Admins and engineers who may not be subject matter experts in your technology end up trying to piece things together, leading to potentially buggy or feature-poor implementations. You as the vendor have the knowledge here, why not help out and ensure a smooth, consistent experience with your product?
  • Admins and engineers who may not have a strong background in PowerShell end up trying to piece a module or functions together, leading to potentially buggy and inconsistent implementations
  • Even if you have an SME for the technology in question who is fluent in PowerShell, they now get to spend copious amounts of time reading through your API documentation and figuring out how to ‘PowerShell-ize’ it

From: https://ramblingcookiemonster.wordpress.com/2015/02/07/rest-powershell-and-infoblox/

 

Now a days, we should be able to do the following:

Install-Module -Name ZoomVideo
$ApiKey = ‘blahfjwej8938ng037rghn3r’
$ApiSecret = ‘blahf3978gh873rhg03rhg’
Get-ADGroupMember -Identity Zoom-Users-Pro | Set-ZoomUser -License Pro -Key $ApiKey -Secret $ApiSecret

In AD, we can create groups for specific licenses (Zoom-User-W100) and feature settings (Zoom-Users-NoRecording). Add/remove users and run a scheduled task checking the groups and running PowerShell to update settings. Very typical process.

With moving the REST API into a PowerShell module, today, you likely could even develop the module with cross platform support on Linux and MacOS.

Thank you for the consideration.


#4

I completely agree with you Joe, and because there is a lack of Zoom provided PowerShell support I’ve created my own Zoom module. As of right now it includes most functions revolving around users and groups and most support pipeline. There is very little documentation or help, and I hope to improve upon that soon. I hope you find it useful:
https://github.com/nickrod518/PowerShell-Scripts/tree/master/Zoom

 

The only problem I’ve run into is with the upload picture method. It requires ‘multipart/form-data’ which PowerShell is capable of, but I can’t get it to work. There isn’t enough details in the method description to know what type of data ‘pic_file’ is supposed to be. I wish Zoom could provide some support on this one.

 

Nick

 

 


#5

Excellent, thanks Nick. Looking forward working with this.

(P.S. already had starred you on GitHub… for Cat Facts :slight_smile: )


#6

Glad to hear it Joe, let me know if you have questions. I tried to spend some time creating comment based help so others could benefit.

Also, I did end up working out the pic upload issue. Basically, I had to do some in-line C# within PowerShell to get the request formatting right.

Everything in there has been working for me, the only issue I’ve run across is there is an API call limit that is very annoying. If you’re doing many calls like I am you may want to consider some kind of throttling. I haven’t implemented this in my own yet.