lib/ZOrgs.ps1
#region Zerto ZOrgs # .ExternalHelp ZertoModule.psm1-help.xml Function Get-ZertoZOrg { [CmdletBinding()] param( [Parameter(Mandatory = $false, HelpMessage = 'Zerto Session Name')][String]$ZertoSession = "Default", [Parameter(Mandatory = $false, ParameterSetName = "ID", HelpMessage = 'Zerto VPG Identifier')] [string] $ZertoOrgIdentifier ) ## Get Session Configuration $ZertoSessionConfig = Get-ZertoSession -SessionName $ZertoSession #Honor SSL Settings if ($ZertoSessionConfig.AllowInsecureSSL) { $ZertoCertSettings = @{SkipCertificateCheck = $true } } else { $ZertoCertSettings = @{SkipCertificateCheck = $false } } $baseURL = "https://" + $ZertoSessionConfig.ZertoServer + ":" + $ZertoSessionConfig.ZertoPort + "/v1/" $TypeJSON = "application/json" switch ($PsCmdlet.ParameterSetName) { "ID" { if ([string]::IsNullOrEmpty($ZertoOrgIdentifier) ) { throw "Missing Zerto Org Identifier" } $FullURL = $baseURL + "zorgs/" + $ZertoOrgIdentifier } Default { $FullURL = $baseURL + "zorgs" } } Write-Verbose $FullURL try { $RestMethodSplat = @{ Uri = $FullURL TimeoutSec = 100 ContentType = $TypeJSON Method = 'GET' WebSession = $ZertoSessionConfig.ZertoWebSession } $Result = Invoke-RestMethod @RestMethodSplat @ZertoCertSettings } catch { throw $_.Exception.Message } return $Result } #endregion |