我有一个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"
答案 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
编辑:如果您只需要总结果中的一个字段(因此您不需要code
,message
等),则只能保存结果' s { {1}}字段如下:
result