Вот очень простой обходной путь, основанный на Write-Host
, у которого нет такой проблемы.В начале сеанса установите / dot-source замену по умолчанию Write-Verbose
:
function global:Write-Verbose
(
[string]
$Message
)
{
# check $VerbosePreference variable
if ($VerbosePreference -ne 'SilentlyContinue') {
# do this via Write-Host
Write-Host "VERBOSE: $Message" -ForegroundColor 'Yellow'
}
}
Тогда это будет работать по мере необходимости:
$VerbosePreference = 'Continue'
Start-Transcript -Path .\RunUnitTests.log
Write-Verbose ("verbose writes five million character lines and stuff. " * 20)
То есть: принимаетучетная запись $VerbosePreference
, она пишет на хост в желтом цвете, вывод транскрипта не переносится и все еще помечается как VERBOSE.
**********************
Windows PowerShell Transcript Start
Start time: 20101105055855
**********************
Transcript started, output file is .\RunUnitTests.log
VERBOSE: verbose writes ... <long line text> ... and stuff.
**********************
Windows PowerShell Transcript End
End time: 20101105055855
**********************