запрос Plink к переменной PowerShell

У меня такой код:

& $Plinkpath -P "22" -v "User@Server" -pw $passw $commands3 | Out-File $Report -Append -Encoding utf8

Это выводит файл с необходимой информацией, но я хочу сохранить результат предложения plink в переменной.

Я пытался:

& $Plinkpath -P "22" -v "User@Server" -pw $passw $commands > $Example
$Example = $Plinkpath -P "22" -v "User@Server" -pw $passw $commands

И ничего не работает :(

Как я могу получить вывод команды в переменной?


person Quiron    schedule 05.06.2018    source источник
comment
$Example = plink username@hostname command действительно работает. Plink - это просто консольное приложение, в вашем вопросе нет ничего специфичного для Plink.   -  person Martin Prikryl    schedule 05.06.2018
comment
Я пробовал $Example = plink username@hostname command и не работает   -  person Quiron    schedule 05.06.2018
comment
& $Plinkpath -P 22 -v "$usr@$Server" -pw $passw $Param[0] = $Param[1] Это сработало для меня! Спасибо за помощь!   -  person Quiron    schedule 06.06.2018


Ответы (1)


Invoke-Expression у вас работает?

$example = Invoke-Expression "$Plinkpath -P '22' -v 'User@Server' -pw $passw $commands"

Это должно записать вывод команды в переменную $example.

Ниже приводится описание командлета:

PS > Get-Help invoke-expression

NAME
    Invoke-Expression

SYNOPSIS
    Runs commands or expressions on the local computer.


SYNTAX
    Invoke-Expression [-Command] <String> [<CommonParameters>]


DESCRIPTION
    The Invoke-Expression cmdlet evaluates or runs a specified string as a command and returns the results of the
    expression or command. Without Invoke-Expression , a string submitted at the command line would be returned
    (echoed) unchanged.
person arco444    schedule 05.06.2018
comment
Как правило, Invoke-Expression следует использовать в крайнем случае. - person EBGreen; 05.06.2018
comment
@EBGreen Не то чтобы я не согласен, но было бы полезно предоставить некоторую информацию в поддержку этого утверждения, чтобы я и другие пользователи могли понять, почему это должно быть последним средством - person arco444; 05.06.2018
comment
О, потому что он открывает ваш код для атак путем внедрения кода. - person EBGreen; 05.06.2018