Вы видите ошибку в Windows PowerShell (с версии 5.1.17134.590), которая исправлена в PowerShell Core (по крайней мере v6.1.0 - хотя другие проблемы, связанные с расшифровкой, сохраняются; см. эту проблему GitHub ).
Я рекомендую вам сообщить об этом на форуме Windows PowerShell UserVoice (обратите внимание, что PowerShell GitHub-repo выпускает форум только для ошибок, присутствующих в PowerShell Core ).
Вот как проверить, присутствует ли ошибка в вашей версии PowerShell:
Создайте скрипт с кодом ниже и запустите его:
'--- Direct output'
$null = Start-Transcript ($tempFile = [io.path]::GetTempFileName())
# Note that 'SilentlyContinue' is also the default value.
$InformationPreference = 'SilentlyContinue'
# Produces no output.
Write-Information '1-information'
# Prints '2-Information' to the console.
Write-Information '2-information' -InformationAction Continue
$null = Stop-Transcript
'--- Write-Information output transcribed:'
Select-String '-information' $tempFile | Select-Object -ExpandProperty Line
Remove-Item $tempFile
С ошибкой присутствует (Windows PowerShell) вы увидите:
--- Direct output
2-information
--- Write-Information output transcribed:
INFO: 1-information
То есть напротив предполагаемого поведения произошло : в протоколе был записан вызов, которого он не должен иметь (поскольку он не выдал выходных данных), и он не зарегистрировал тот, который должен иметь.
Кроме того, к зарегистрированному выходу добавляется префикс INFO:
, что является несоответствием, также исправленным в PowerShell Core.
Не существует полного обходного пути , за исключением того, что выможно использовать Write-Host
в случаях, когда do вы хотите, чтобы вывод был записан в стенограмме - но такие вызовы будут регистрироваться безоговорочно независимо от значения переменной предпочтения $InformationPreference
(хотя Write-Host
формально предоставляет -InformationAction
общий параметр, он игнорируется ).
С исправленной ошибкой (PowerShell Core ) вы увидите:
--- Direct output
2-information
--- Write-Information output transcribed:
2-information
Стенограмма теперь соответствует прямому выводу.