Functions/Accounts/Unlock-PASAccount.ps1
# .ExternalHelp psPAS-help.xml function Unlock-PASAccount { [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSReviewUnusedParameter', 'CheckIn', Justification = 'Parameter used for ParameterSet function logic')] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSReviewUnusedParameter', 'Unlock', Justification = 'Parameter used for ParameterSet function logic')] [CmdletBinding(SupportsShouldProcess, DefaultParameterSetName = 'CheckIn')] param( [parameter( Mandatory = $true, ValueFromPipelinebyPropertyName = $true )] [ValidateNotNullOrEmpty()] [Alias('id')] [string]$AccountID, [parameter( Mandatory = $false, ValueFromPipelinebyPropertyName = $true, ParameterSetName = 'CheckIn' )] [switch]$CheckIn, [parameter( Mandatory = $false, ValueFromPipelinebyPropertyName = $true, ParameterSetName = 'Unlock' )] [switch]$Unlock ) BEGIN { }#begin PROCESS { switch ($PSCmdlet.ParameterSetName) { 'CheckIn' { #Create URL for request $URI = "$($psPASSession.BaseURI)/API/Accounts/$AccountID/CheckIn" break } 'Unlock' { #*Assumed working for 11.6+ (not verified/tested for all versions) Assert-VersionRequirement -RequiredVersion 11.6 #Create URL for request $URI = "$($psPASSession.BaseURI)/API/Accounts/$AccountID/Unlock" break } } if ($PSCmdlet.ShouldProcess($AccountID, "$($PSCmdlet.ParameterSetName) Account")) { #send request to web service Invoke-PASRestMethod -Uri $URI -Method POST } }#process END { }#end } |