Functions/Applications/Get-PASApplication.ps1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
# .ExternalHelp psPAS-help.xml function Get-PASApplication { [CmdletBinding(DefaultParameterSetName = 'byQuery')] param( [parameter( Mandatory = $true, ValueFromPipelinebyPropertyName = $true, ParameterSetName = 'byAppID' )] [parameter( Mandatory = $false, ValueFromPipelinebyPropertyName = $true, ParameterSetName = 'byQuery' )] [ValidateNotNullOrEmpty()] [string]$AppID, [parameter( Mandatory = $false, ValueFromPipelinebyPropertyName = $false, ParameterSetName = 'byAppID' )] [switch]$ExactMatch, [parameter( Mandatory = $false, ValueFromPipelinebyPropertyName = $true, ParameterSetName = 'byQuery' )] [ValidateNotNullOrEmpty()] [string]$Location, [parameter( Mandatory = $false, ValueFromPipelinebyPropertyName = $true, ParameterSetName = 'byQuery' )] [boolean]$IncludeSublocations ) BEGIN { }#begin PROCESS { #Base URL for Request $URI = "$Script:BaseURI/WebServices/PIMServices.svc/Applications" #If AppID specified If ($($PSCmdlet.ParameterSetName) -eq 'byAppID') { #Build URL from base URL $URI = "$URI/$($AppID | Get-EscapedString)/" } #If search query specified ElseIf ($($PSCmdlet.ParameterSetName) -eq 'byQuery') { #Get Parameters to include in request $boundParameters = $PSBoundParameters | Get-PASParameter #Create query string $queryString = $boundParameters | ConvertTo-QueryString if ($null -ne $queryString) { #Build URL from base URL $URI = "$URI`?$queryString" } } #Send request to web service $result = Invoke-PASRestMethod -Uri $URI -Method GET -WebSession $Script:WebSession If ($null -ne $result) { #Return results $result.application | Add-ObjectDetail -typename psPAS.CyberArk.Vault.Application } }#process END { }#end } |