我可以将来自invoke-restmethod的结果保存为powershell中的变量而不是-outfile吗?

时间:2015-07-07 09:05:53

标签: powershell

我有一个Invoke-Restmethod API脚本,可以创建一个新的邮件列表并返回以下内容

  Code Message                              Result
  ---- -------                              ------                             
  1    Mailing list successfully created    12345678

我需要结果(新邮件列表的ID)用于下一个操作。

我知道我可以使用-outfile将结果保存到txt \ xml \ json并使用get-contents导入它,但它让我感觉更高效和干净,只需将结果保存在变量中而无需保存outfile并将其导入。有没有办法做到这一点?

我的完整代码:

Invoke-RestMethod $url -Method $method -Headers $headers -Body (ConvertTo-json $body) -ContentType "$outform"

1 个答案:

答案 0 :(得分:1)

当然可以。将-PassThru切换添加到Invoke-RestMethod来电,并将输出正常分配给变量。

$result = Invoke-RestMethod @args -PassThru # when there's "outfile" in args

事实上,如果您使用-outfile,您的结果应该已经可以保存为变量。

$result = Invoke-RestMethod @args # when there's no "outfile" in args

编辑:如果您只需要总结果中的一个字段(因此您不需要codemessage等),则只能保存结果' s { {1}}字段如下:

result