function Get-AlkamiCredential { <# .SYNOPSIS Creates a new PSCredential object from a given username and password. .DESCRIPTION Get-AlkamiCredential will create a credential for you from a username and password, converting a password stored as a String into a SecureString. .OUTPUTS System.Management.Automation.PSCredential .EXAMPLE Get-AlkamiCredential -User ENTERPRISE\picard -Password 'earlgrey' Creates a new credential object for Captain Picard. #> [CmdletBinding()] [OutputType([Management.Automation.PSCredential])] [Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSAvoidUsingUserNameAndPassWordParams","")] param( [Alias('User')] [string] # The username. Beginning with Carbon 2.0, this parameter is optional. Previously, this parameter was required. $UserName, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] # The password. Can be a `[string]` or a `[System.Security.SecureString]`. $Password ) if($Password -is [string]) { $Password = ConvertTo-SecureString -AsPlainText -Force -String $Password } elseif($Password -isnot [securestring]) { Write-Error "Value for Password parameter must be a [string] or [System.Security.SecureString]. You passed a [$($Password.GetType())]." return } return New-Object 'Management.Automation.PsCredential' $UserName,$Password }