Public/get-alapplayerdetail.ps1
function Get-ALapplayerDetail { <# .SYNOPSIS Gets detailed information on Application Layer including revisions(versions) .DESCRIPTION Gets detailed information on Application Layer including revisions(versions) .PARAMETER websession Existing Webrequest session for ELM Appliance .PARAMETER id Application layer ID .EXAMPLE get-alapplayer -websession $websession -id $app.Id #> [cmdletbinding()] Param( [Parameter(Mandatory = $true)]$websession, [Parameter(Mandatory = $true)][string]$id ) Begin { Write-Verbose "BEGIN: $($MyInvocation.MyCommand)" Test-ALWebsession -WebSession $websession } Process { [xml]$xml = @" <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <QueryApplicationLayerDetails xmlns="http://www.unidesk.com/"> <query> <Id>$id</Id> </query> </QueryApplicationLayerDetails> </s:Body> </s:Envelope> "@ Write-Verbose $xml $headers = @{ SOAPAction = "http://www.unidesk.com/QueryApplicationLayerDetails"; "Content-Type" = "text/xml; charset=utf-8"; UNIDESK_TOKEN = $websession.token; } $url = "https://" + $websession.aplip + "/Unidesk.Web/API.asmx" $return = Invoke-WebRequest -Uri $url -Method Post -Body $xml -Headers $headers -WebSession $websession [xml]$obj = $return.Content if ($obj.Envelope.Body.QueryApplicationLayerDetailsResponse.QueryApplicationLayerDetailsResult.Error) { throw $obj.Envelope.Body.QueryApplicationLayerDetailsResponse.QueryApplicationLayerDetailsResult.Error.message } else { return $obj.Envelope.Body.QueryApplicationLayerDetailsResponse.QueryApplicationLayerDetailsResult } } end { Write-Verbose "END: $($MyInvocation.MyCommand)" } } |