Public/Invoke-ActivateActionTrigger.ps1
|
function Invoke-ActivateActionTrigger { [CmdletBinding()] param ( [Parameter( Position=0, Mandatory=$false, ValueFromPipelineByPropertyName=$true )] [string]$Host = $Script:Host, [Parameter( Position=1, Mandatory=$false, ValueFromPipelineByPropertyName=$true )] [string]$SessionKey = $Script:SessionKey, [Parameter( ValueFromPipelineByPropertyName=$true )] [switch]$UseSSL = $Script:UseSSL, [Parameter( ValueFromPipelineByPropertyName=$true )] [switch]$IgnoreCertificateErrors = $Script:IgnoreCertificateErrors, [Parameter( ValueFromPipelineByPropertyName=$true, Mandatory=$true )] [int]$Id ) begin { if($IgnoreCertificateErrors) { [System.Net.ServicePointManager]::ServerCertificateValidationCallback = { $true } } } process { $endPoint = "api/actionTriggers" $method = "POST" $contentType = "application/json" $uri = "http" + $(if($UseSSL) { "s" }) + "://$($Host)/$($endPoint)" $headers = @{ Authorization=$SessionKey; } $query = @{ limit=$Limit; } if($Id) { $uri = "$uri/$Id/execute?action=activation" } Write-Verbose -Message "$($method) $($uri) $($contentType)" Write-Verbose -Message "Query:`n$(ConvertTo-Json $query)" $message = @{ Uri=$uri; Method=$method; Body=$query; ContentType=$contentType; Headers=$headers; UseBasicParsing=$true; } Invoke-RestMethod @message | Out-Null } end { [System.Net.ServicePointManager]::ServerCertificateValidationCallback = { $null } } } |