Перенаправить подробный поток из удаленного сеанса в PowerShell - PullRequest
0 голосов
/ 09 июля 2019

Я хочу сохранить подробный вывод из удаленного сеанса в переменную или файл

может быть перенаправлен только обычный вывод, но не подробный вывод.

$VerbosePreference = "Continue"

$s = New-PSSession localhost
$str = (Invoke-Command -Session $s -Verbose -Script {
    $VerbosePreference = "Continue"
    "1"
    Write-Verbose "2"
} *>&1)

"str=$str"

Ожидаемый вывод:

str=1 2

Фактический объем производства:

VERBOSE: 2
str=1

1 Ответ

0 голосов
/ 11 июля 2019

Перенаправить подробный вывод внутри блока сценария. Используйте либо

$s = New-PSSession -ComputerName localhost
$str = Invoke-Command -Verbose -Session $s -ScriptBlock {
    "1"
    Write-Verbose "2" -Verbose 4>&1
}
"str=$str"

или даже

$s = New-PSSession -ComputerName localhost
$str = Invoke-Command -Verbose -Session $s -ScriptBlock {
    $(
        "1"
        Write-Verbose "2" -Verbose
    ) *>&1
}
"str=$str"

Обратите внимание, что приведенные выше фрагменты кода работают должным образом с по умолчанию подробное предпочтение, т.е. $VerbosePreference = 'SilentlyContinue'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...