gpt4 book ai didi

powershell - 在 Powershell 中使用 Out-String 时可以使用 -ErrorVariable

转载 作者:行者123 更新时间:2023-12-04 01:49:10 25 4
gpt4 key购买 nike

我正在尝试将命令的输出捕获到 Powershell 中的输出变量中。该命令的输出采用表格格式,这就是我使用 Out-String 的原因。现在我需要抑制错误消息,这就是为什么我使用错误变量来存储错误消息。我尝试了以下操作,但它们都没有抑制我的错误,并且错误显示在屏幕上。

$output = $esxcli.network.firewall.ruleset.allowedip.list() | Out-String -ErrorVariable myErr

$output = $esxcli.network.firewall.ruleset.allowedip.list() -ErrorVariable myErr | Out-String

$output = $esxcli.network.firewall.ruleset.allowedip.list() | Out-String 2>&1

$output = $esxcli.network.firewall.ruleset.allowedip.list() 2>&1 | Out-String

有没有一种方法可以在以简单的方式使用 Out-String 时抑制错误(不像 try-catch)?

最佳答案

如果您的 .list() 方法引发异常,您有两个选择:

  1. 将您的 $ErrorActionPreference 变量设置为 'SilentlyContinue''Ignore'

    $ErrorActionPreference = 'SilentlyContinue'
  2. 将方法调用包装在 try/catch block 中

    try
    {
    $output = $esxcli.network.firewall.ruleset.allowedip.list() | Out-String
    }
    catch
    {
    "Error thrown! $PSItem"
    }

请注意,如果您的方法调用抛出终止错误,则您没有解决方法。

关于powershell - 在 Powershell 中使用 Out-String 时可以使用 -ErrorVariable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51831518/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com