Public/Meetings/Update-ZoomMeetingStatus.ps1
<#
.SYNOPSIS End a meeting by updating its status. .DESCRIPTION End a meeting by updating its status. .PARAMETER MeetingId The meeting ID. .PARAMETER Action The update action. Available actions: end. .PARAMETER ApiKey The Api Key. .PARAMETER ApiSecret The Api Secret. .LINK https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingstatus .EXAMPLE Ends a meeting. Update-MeetingStatus -MeetingId '123456789' #> function Update-ZoomMeetingStatus { [CmdletBinding()] param ( [Parameter( Mandatory = $True, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True, Position = 0 )] [Alias('meeting_id')] [string]$MeetingId, [Parameter( ValueFromPipelineByPropertyName = $True, Position = 1 )] [ValidateSet('end')] [string]$Action = 'end', [ValidateNotNullOrEmpty()] [string]$ApiKey, [ValidateNotNullOrEmpty()] [string]$ApiSecret ) begin { #Generate Headers and JWT (JSON Web Token) $Headers = New-ZoomHeaders -ApiKey $ApiKey -ApiSecret $ApiSecret } process { $Request = [System.UriBuilder]"https://api.zoom.us/v2/meetings/$MeetingId/status" $requestBody = @{ 'action' = $Action } $requestBody = $requestBody | ConvertTo-Json try { $response = Invoke-RestMethod -Uri $request.Uri -Headers $headers -Body $requestBody -Method PUT } catch { Write-Error -Message "$($_.Exception.Message)" -ErrorId $_.Exception.Code -Category InvalidOperation } Write-Output $response } } |