我试图将输出存储Invoke-expression到一个变量以及在屏幕上。我有PS日志记录,它会自动将所有内容记录为Write-Host一个文件。现在我正在使用Invoke-Expression它似乎在屏幕上打印输出或到一个变量,我都需要
我所尝试的是:
$var = "C:\ER\work\Canny.exe -Init ER\ER2 Get-ip"
$val = Invoke-Expression $var
Run Code Online (Sandbox Code Playgroud)
这不会在屏幕上打印任何内容,因此我无法确定运行时是否有任何问题。后来我做Write-Host的$val这些记录,但它有时来不及知道发生了什么如果我使用:
Invoke-Expression $var
Run Code Online (Sandbox Code Playgroud)
没有任何记录(很明显),但是有控制台输出,如果我想在一段时间后查看日志,会发现发生了什么,我无法调查。我也尝试过:
Invoke-Expression $var -OutVariable out
Run Code Online (Sandbox Code Playgroud)
要么
Invoke-Expression $var -OutVariable $out
Run Code Online (Sandbox Code Playgroud)
这里没有用。我还创建了一个脚本块并尝试
Invoke-Command
Run Code Online (Sandbox Code Playgroud)
再次没有用,我只需要它在屏幕上以及变量上打印输出。
powershell ×1