powershell - 自动将命令输出分配给 Powershell 中的变量

标签 powershell

是否有将所有命令封装在 Powershell session 中的技巧,以便 全部 输出是 tee'd 到一个临时变量?

当我输入命令时出现问题 Some-Function
我完全了解像 Tee-Object 这样的命令和 -OutVariable这允许我将函数的输出通过管道传输到变量以及控制台。我可以通过以下方式实现我的目标:
Some-Function | Tee-Object -Variable PSMyCustomTempVariable
然而,我经常不知道或预期我是否需要这个变量,直到我已经运行了 Some-Function .在这种情况下,最好有一个包含最后一个函数输出的变量。这对于像递归文件搜索这样需要一段时间才能运行的函数特别有用。

我看过 about_Logging以及 Start-Transcript ,但这些似乎与将文本记录到文件有关;我需要函数返回的对象。

那么,有什么方法可以修改我的 session ,以便任何 Powershell 命令 Some-Function基本上变成Some-Function | Tee-Object -Variable PSMyCustomTempVariable ?

最佳答案

不完全是。然而,

$Variable = (Some-Function)

将保存 Some-Function 的输出在变量 $Variable 中, 然后允许您操作数据或稍后将其传递给其他函数。完成相当于
Some-Function | Tee-Object -Variable $Variable

这将采用 Some-Function 的输出, 保存在 $variable ,并将其通过管道传递到下一个命令,您可以使用
$variable = (Some-Function)
$variable

(或 $variable | Next-Command ),并完成您似乎想要的。

关于powershell - 自动将命令输出分配给 Powershell 中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49179697/

相关文章:

Powershell 抛出数据异常

windows - PsExec 抛出错误消息,但工作没有任何问题

powershell - 如何以管理员身份运行 powershell 脚本?

powershell - 您的租户已禁用此服务。不允许你使用此 cmdlet - Skype Online

windows - 如何在 Appveyor 中安装 GHC 并将 GHC 放在路径中?

powershell - ForEach-Object -Parallel 如何使用

windows - Powershell 获取所有光驱盘符

powershell - 使用bat启动Powershell脚本

powershell - 如何使用任务计划程序运行Cisco AnyConnect

visual-studio - 对Get-Migrations的输出进行升序排序?