function Get-BasicAuthWebHeader { [CmdletBinding()] [OutputType([object])] param( [Parameter(Mandatory = $true, ParameterSetName = "UsernameAndPassword")] [string]$Username, [Parameter(Mandatory = $true, ParameterSetName = "UsernameAndPassword")] [Alias('Password')] [string]$InputObject, [Parameter(Mandatory = $true, ParameterSetName = "Credential")] [System.Management.Automation.PSCredential]$Credential ) if ($PSCmdlet.ParameterSetName -eq "Credential") { $InputObject = Get-PasswordFromCredential -Credential $Credential $Username = $Credential.Username } $base64String = (ConvertTo-Base64 -Input "$($Username):$($InputObject)") return @{ Authorization = "Basic $base64String" } }