Functions/Authentication/Add-PASAuthenticationMethod.ps1
# .ExternalHelp psPAS-help.xml Function Add-PASAuthenticationMethod { [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSAvoidUsingPlainTextForPassword', '', Justification = "passwordFieldLabel not related to password value")] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSAvoidUsingUsernameAndPasswordParams', '', Justification = "usernameFieldLabel & passwordFieldLabel not related to password value")] [CmdletBinding()] param( [parameter( Mandatory = $true, ValueFromPipelinebyPropertyName = $true )] [ValidateLength(1, 50)] [string]$id, [parameter( Mandatory = $false, ValueFromPipelinebyPropertyName = $true )] [ValidateLength(0, 50)] [string]$displayName, [parameter( Mandatory = $false, ValueFromPipelinebyPropertyName = $true )] [boolean]$enabled, [parameter( Mandatory = $false, ValueFromPipelinebyPropertyName = $true )] [boolean]$mobileEnabled, [parameter( Mandatory = $false, ValueFromPipelinebyPropertyName = $true )] [string]$logoffUrl, [parameter( Mandatory = $false, ValueFromPipelinebyPropertyName = $true )] [ValidateSet("cyberark", "radius", "ldap")] [string]$secondFactorAuth, [parameter( Mandatory = $false, ValueFromPipelinebyPropertyName = $true )] [ValidateLength(0, 100)] [string]$signInLabel, [parameter( Mandatory = $false, ValueFromPipelinebyPropertyName = $true )] [ValidateLength(0, 50)] [string]$usernameFieldLabel, [parameter( Mandatory = $false, ValueFromPipelinebyPropertyName = $true )] [ValidateLength(0, 50)] [string]$passwordFieldLabel ) BEGIN { Assert-VersionRequirement -RequiredVersion 11.5 }#begin PROCESS { #Create URL for request $URI = "$Script:BaseURI/api/Configuration/AuthenticationMethods" #Request body $Body = $PSBoundParameters | Get-PASParameter | ConvertTo-Json #send request to web service $result = Invoke-PASRestMethod -Uri $URI -Method POST -Body $Body -WebSession $Script:WebSession If ($null -ne $result) { $result } }#process END { }#end } |