Вы можете сделать это, создав функцию Write-Debug
следующим образом:
PS> function Write-Debug {
[cmdletbinding()]
param($message)
if (!$message) {
write-host; return
}
$cmd = get-command -commandType cmdlet Write-Debug
& $cmd $message
}
PS> Write-Debug 'this is test'; Write-Debug; Write-Debug '3rd row'
DEBUG: this is test
DEBUG: 3rd row
Если вы создаете новую функцию с тем же именем, что и у командлета, вы скрываете исходный командлет, поскольку PowerShell сначала попытаетсянайти функцию с именем Write-Debug
.Если его нет, PowerShell пытается найти командлет с таким именем.(как правило, первым типом команды, которую PowerShell пытается найти, является псевдоним, а не функция).