PSZoom
A PowerShell wrapper to interface with Zoom's API (Zoom Video Communications).
Install / Use
/learn @JosephMcEvoy/PSZoomREADME
PSZoom
PSZoom is a Powershell wrapper to interface with Zoom's API (Zoom Video Communications). The module wraps many API calls from Zoom's API v2 documentation. You can find Zoom's documentation at https://marketplace.zoom.us/docs/api-reference/zoom-api. PSZoom is not an official module.
Cmdlets are named with approved Powershell verbs but keeping to as close to Zoom's API reference as possible. For example, Zoom has two API calls that they named "List User Assistants" and "Update Zoom Meeting". In PSZoom they are named Get-ZoomUserAssistants and Update-ZoomMeeting, respectively. In general, each cmdlet has associated help which includes a link (found under .LINK) to the API call that it is wrapping.
Zoom has a rate limit that varies depending on your account and the type of request. If you're making too many requests, the cmdlet will automatically retry after one second.
Getting started
Using PowershellGallery
Install-Module PSZoom
Import-Module PSZoom
Using Git
Clone the repository.
git clone "https://github.com/JosephMcEvoy/PSZoom.git"
Place directory into a module directory (e.g. $env:USERPROFILE\Documents\WindowsPowerShell\Modules).
Move-Item -path ".\pszoom\pszoom" -Destination "$env:USERPROFILE\Documents\WindowsPowerShell\Modules"
Import the module.
Import-Module PSZoom
Using your API key and API secret
All commands require a Client ID and Client Secret. As of PSZoom 2.0, PSZoom only supports Server-to-Server OAuth authorization. You can generate the Server-to-Server OAuth key/secret from https://marketplace.zoom.us/develop/create, then click on 'Create' under Server-to-Server OAuth.
Example script
import-module PSZoom
Connect-PSZoom -AccountID 'account_id' -ClientID 'client_id' -ClientSecret 'secret'
Get-ZoomMeeting 123456789
Available functions
Use get-help for more information about each function.
Accounts
- Add-ZoomAccountAddonPlan
- Get-ZoomAccount
- Get-ZoomAccountBilling
- Get-ZoomAccountManagedDomains
- Get-ZoomAccountPlans
- Get-ZoomAccounts
- Get-ZoomAccountSettings
- Get-ZoomPhoneAccountSettings
- Get-ZoomPhoneOutboundCallerIdCustomizedNumber
- New-ZoomAccount
- New-ZoomAccountPlan
- New-ZoomPhoneOutboundCallerIdCustomizedNumber
- Remove-ZoomAccount
- Remove-ZoomPhoneOutboundCallerIdCustomizedNumber
- Update-ZoomAccountAddonPlan
- Update-ZoomAccountBasePlan
- Update-ZoomAccountBilling
- Update-ZoomAccountOptions
- Update-ZoomAccountSettings
Cloud Recordings
- Get-ZoomAccountRecordings
- Get-ZoomMeetingCloudRecordings
- Remove-ZoomMeetingRecordingFile
- Remove-ZoomMeetingRecordings
- Show-ZoomRecordings
Groups
- Add-ZoomGroupMember
- Get-ZoomGroup
- Get-ZoomGroupLockSettings
- Get-ZoomGroupMembers
- Get-ZoomGroups
- Get-ZoomGroupSettings
- New-ZoomGroup
- Remove-ZoomGroup
- Remove-ZoomGroupMembers
- Update-ZoomGroup
- Update-ZoomGroupLockSettings
- Update-ZoomGroupSettings
Meetings
- Add-ZoomRegistrant
- Get-ZoomEndedMeetingInstances
- Get-ZoomMeeting
- Get-ZoomMeetingCloudRecordings
- Get-ZoomMeetingInvitation
- Get-ZoomMeetingPoll
- Get-ZoomMeetingPolls
- Get-ZoomMeetingRegistrants
- Get-ZoomMeetingsFromUser
- Get-ZoomPastMeetingDetails
- Get-ZoomPastMeetingParticipants
- Get-ZoomPastMeetingParticipantsMetrics
- Get-ZoomPersonalMeetingRoomName
- New-ZoomMeeting
- New-ZoomMeetingPoll
- New-ZoomMeetingPollQuestion
- Remove-ZoomMeeting
- Remove-ZoomMeetingPoll
- Update-MeetingStatus
- Update-ZoomMeeting
- Update-ZoomMeetingLiveStream
- Update-ZoomMeetingLiveStreamStatus
- Update-ZoomMeetingPoll
- Update-ZoomMeetingRegistrantStatus
- Update-ZoomMeetingRegistrationQuestions
- Update-ZoomMeetingStatus
Phones
- Get-ZoomPhoneCallingPlan
- Get-ZoomPhoneNumber
- Get-ZoomPhoneProvisioingTemplate
Common Area Phones
- Add-ZoomPhoneCommonAreaCallingPlan
- Add-ZoomPhoneCommonAreaNumber
- Get-ZoomPhoneCommonArea
- Get-ZoomPhoneCommonAreaSettings
- New-ZoomPhoneCommonArea
- Remove-ZoomPhoneCommonArea
- Remove-ZoomPhoneCommonAreaCallingPlan
- Remove-ZoomPhoneCommonAreaNumber
- Update-ZoomPhoneCommonArea
Desk Phones
- Add-ZoomPhoneDeviceAssignee
- Get-ZoomPhoneDevice
- Invoke-ZoomPhoneDeviceReboot
- New-ZoomPhoneDevice
- Remove-ZoomPhoneDevice
- Remove-ZoomPhoneDeviceAssignee
- Update-ZoomPhoneDevice
- Update-ZoomPhoneDeviceProvisioningTemplate
User Phones
- Add-ZoomPhoneUserCallingPlan
- Add-ZoomPhoneUserNumber
- Get-ZoomPhoneUser
- Get-ZoomPhoneUserSettings
- New-ZoomPhoneUser
- Remove-ZoomPhoneUserCallingPlan
- Remove-ZoomPhoneUserNumber
- Update-ZoomPhoneUser
- Update-ZoomPhoneUserCallingPlan
- Update-ZoomPhoneUserSettings
Phone Sites
- Get-ZoomPhoneSite
- Get-ZoomPhoneSettingTemplate
- Get-ZoomPhoneSiteEmergencyAddress
Reports
- Get-ZoomActiveInactiveHostReports
- Get-ZoomDailyUsageReport
- Get-ZoomMeetingParticipantsReport
- Get-ZoomRegistrationQuestions
- Get-ZoomTelephoneReports
- Get-ZoomWebinarDetailsReport
- Get-ZoomWebinarParticipantsReport
Rooms
- Get-ZoomRooms
- Get-ZoomRoomsDashboard
- Get-ZoomRoomDevices
- Get-ZoomRoomLocations
- Disconnect-ZoomRoomMeeting
- New-ZoomRoomInvite
- New-ZoomRoomMeeting
- Remove-ZoomRoomMeeting
- Restart-ZoomRoom
- Stop-ZoomRoomMeeting
Users
- Add-ZoomUserAssistants
- Get-ZoomUser
- Get-ZoomUserEmailStatus
- Get-ZoomUserPermissions
- Get-ZoomUserSchedulers
- Get-ZoomUserSettings
- Get-ZoomUserToken
- New-ZoomUser
- Remove-ZoomSpecificUserAssistant
- Remove-ZoomSpecificUserScheduler
- Remove-ZoomUser
- Remove-ZoomUserAssistants
- Remove-ZoomUserSchedulers
- Revoke-ZoomUserSsoToken
- Update-ZoomProfilePicture
- Update-ZoomUser
- Update-ZoomUserEmail
- Update-ZoomUserpassword
- Update-ZoomUserSettings
- Update-ZoomUserStatus
Webinars
- Get-ZoomWebinar
- Get-ZoomWebinarsFromUser
- Get-ZoomWebinarPanelists
Utility
- Invoke-ZoomRetMethod
- Join-ZoomPages
- New-ZoomApiToken
