Используя методы .NET чуть больше, чем канонический код PowerShell, вы можете написать
$word = "Thisisatest"
[System.String]::Join("-", $word.ToCharArray())
и Powershell выводит "T-h-i-s-i-s-a-t-e-s-t"
РЕДАКТИРОВАТЬ: Для истинного мягкого дефиса и использования этого ответа на Unicode в PowerShell я бы изменил вторую строку на
[System.String]::Join([char] 0x00AD, $word.ToCharArray())