Kann ich das Ergebnis speichern von invoke-restmethod als variable anstelle von ein -outfile in der powershell?
Ich habe eine Invoke-Restmethod-API-Skript erstellt eine neue Mailing-Liste und gibt die folgenden
Code Message Result
---- ------- ------
1 Mailing list successfully created 12345678
Muss ich das Ergebnis (die ID für das neue mailnglist) für die nächste operation.
Ich weiß, dass ich verwenden können-outfile speichern das Ergebnis in txt\xml\json und importieren Sie Sie über get-contents, doch scheint es mir effizienter und sauber ist, einfach nur speichern Sie das Ergebnis in einer variable, ohne zu speichern Sie eine Ausgabedatei und importieren Sie Sie zurück in. Gibt es eine Möglichkeit, dies zu tun?
Mein kompletter code:
Invoke-RestMethod $url -Method $method -Headers $headers -Body (ConvertTo-json $body) -ContentType "$outform"
InformationsquelleAutor Ullsokk | 2015-07-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sicher, ja. Hinzufügen
-PassThru
wechseln Sie zu IhremInvoke-RestMethod
nennen, und weisen Sie die Ausgabe in eine variable als normal.In der Tat, wenn Sie nicht Verwendung
-outfile
Ihre Ergebnisse sollten bereits verfügbar sein, für die Rettung als eine variable.EDIT: Wenn Sie nur ein Feld aus der Summe (so brauchen Sie nicht
code
,message
etc), können Sie nur das Ergebnis istresult
Feld etwa so:Ich schrieb, dass als die Abkürzung für "was da ist". Also in deinem Fall wickeln Sie den gesamten Aufruf
Invoke-RestMethod
in Runden Klammern und einer variable zuordnen. Aber, es wird eine syntax@variable
, das heißt "Holen Sie sich die hashtable "variable" und interpretieren es als "parameter=Wert"". Sagen, in Ihrem Fall$args=@{}; $args["Method"]=$method;...
(füllen den rest wie dieses) kann verwendet werden, als eine gültige Eingabe für@args
syntax.Danke!!! Es fast funktioniert, aber für einige Grund der Ergebnisse variable gibt med einen falschen Wert. Wenn ich " write-host $Ergebnis, ich bekomme das Ergebnis den Wert +1, zB. nicht 10000, sondern 10001
Gut, Sie sollten sich in Ihrem REST-API-Spezifikation, wahrscheinlich, was im Ergebnis ist zu sagen "next ID" anstelle von "Strom-ID".
InformationsquelleAutor Vesper