function New-ConfigurationDataDummySecretValue { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] [ValidateSet("credential", "securestring", "string")] [string] $ExpectedType, [Parameter(Mandatory=$false)] [System.Collections.IDictionary] $Reference, [Parameter(Mandatory=$false)] [string] $ParameterName = "" ) $Name = "" if($null -ne $Reference -and (Test-ConfigurationDataMapContainsKey -Map $Reference -Key "Name")){ $Name = [string](Get-ConfigurationDataMapValue -Map $Reference -Key "Name" -DefaultValue "") } $UserName = "" if($null -ne $Reference -and (Test-ConfigurationDataMapContainsKey -Map $Reference -Key "UserName")){ $UserName = [string](Get-ConfigurationDataMapValue -Map $Reference -Key "UserName" -DefaultValue "") } if([string]::IsNullOrWhiteSpace($UserName)){ $UserNameSource = $ParameterName if([string]::IsNullOrWhiteSpace($UserNameSource)){ $UserNameSource = $Name } if([string]::IsNullOrWhiteSpace($UserNameSource)){ $UserNameSource = "Credential" } $UserNameLeaf = @($UserNameSource -split '[\\/]+')[-1] if([string]::IsNullOrWhiteSpace($UserNameLeaf)){ $UserNameLeaf = "Credential" } $UserName = "DUMMY\$UserNameLeaf" } switch($ExpectedType.ToLowerInvariant()){ "credential" { return [pscredential]::new( $UserName, (ConvertTo-SecureString -String "DummyPassword!" -AsPlainText -Force) ) } "securestring" { return ConvertTo-SecureString -String "DummySecret!" -AsPlainText -Force } "string" { if([string]::IsNullOrWhiteSpace($Name)){ $Name = $ParameterName } if([string]::IsNullOrWhiteSpace($Name)){ return "DummySecret" } return "DummySecret:$Name" } } }