Functions/Authentication/Remove-PASFIDO2Device.ps1
# .ExternalHelp psPAS-help.xml Function Remove-PASFIDO2Device { [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSReviewUnusedParameter', 'OwnDevice', Justification = 'False Positive')] [CmdletBinding(SupportsShouldProcess, DefaultParameterSetName = 'Default')] param( [parameter( Mandatory = $true, ValueFromPipelinebyPropertyName = $true, ParameterSetName = 'Default' )] [parameter( Mandatory = $true, ValueFromPipelinebyPropertyName = $true, ParameterSetName = 'OwnDevice' )] [ValidateNotNullOrEmpty()] [string]$id, [parameter( Mandatory = $false, ValueFromPipelinebyPropertyName = $true, ParameterSetName = 'OwnDevice' )] [switch]$OwnDevice ) BEGIN { Assert-VersionRequirement -SelfHosted Assert-VersionRequirement -RequiredVersion 14.6 }#begin PROCESS { switch ($PSCmdlet.ParameterSetName) { 'OwnDevice' { # Create URL for request to remove user's own FIDO2 device $URI = "$($psPASSession.BaseURI)/api/fido2/selfKeys/$($id | Get-EscapedString)" $ShouldProcessMessage = 'Delete Own FIDO2 Device' break } default { # Create URL for request to remove user FIDO2 device $URI = "$($psPASSession.BaseURI)/api/fido2/keys/$($id | Get-EscapedString)" $ShouldProcessMessage = 'Delete FIDO2 Device' } } if ($PSCmdlet.ShouldProcess($id, $ShouldProcessMessage)) { #Send request to web service Invoke-PASRestMethod -Uri $URI -Method DELETE } }#process END { }#end } |