ArgumentCompleters/Profile.ps1
$ProfileCompleter = { param( $commandName, $parameterName, $wordToComplete, $commandAst, $ParentBoundParameters ) Get-MSTerminalProfile -Name "${wordToComplete}*" | ForEach-Object { $Value = $_.Name if($Value.Contains(" ")) { $Value = "`"$Value`"" } New-Object System.Management.Automation.CompletionResult ( $Value, $Value, 'ParameterValue', $Value ) } } Register-ArgumentCompleter -ParameterName Name -CommandName "Get-MSTerminalProfile","Remove-MSTerminalProfile","Set-MSTerminalProfile" -ScriptBlock $ProfileCompleter |