The Invoke-RestMethod cmdlet has been with us since PowerShell 3.0. For those of us paying attention to PowerShell during the 2.0 to 3.0 transition, it was a huge release and the inclusion of this new command was only one of the reasons why. From that point forward, we had a built-in, PowerShell way to interact with RESTful Web Services. REST (Representational State Transfer) web services accept HTTP(S) requests, and respond with structured data, often in the form of JSON. This structured data is converted by the Invoke-RestMethod cmdlet into PowerShell objects. The command was greatly improved in PowerShell 6, but today we’re going to focus on the newest changes in PowerShell 7.
If you spent any time in the help file/online docs for Invoke-RestMethod (5.1 and 7.0), then you’ve likely seen the below example. It shows the basic ability of the cmdlet, and returns some worth wild results, too. The below results are created for us after issuing a specific, Invoke-RestMethod command. You can see it below. We first assigned the $Uri variable an exact, URI (Uniform Resource Identifier) value. This complete URI is the combination of the base URI, “https://blogs.msdn.microsoft.com,” and the endpoint, “/powershell/feed.” We then used the variable in the Invoke-RestMethod command, which makes an HTTPS request for the data, receives a response, and finally, converts it into PowerShell objects, where it’s then filtered by our Select-Object command.
$Uri = 'https://blogs.msdn.microsoft.com/powershell/feed/' Invoke-RestMethod -Uri $Uri | Select-Object -Property Title,pubDate title pubDate ----- ------- Secrets Management Module Vault Extensions Thu, 06 Feb 2020 22:59:33 +0000 Public Preview of PowerShell Support in Jupyter Notebooks Thu, 06 Feb 2020 21:46:52 +0000 Secrets Management Development Release Thu, 06 Feb 2020 20:40:50 +0000 Announcing the PowerShell 7.0 Release Candidate Tue, 17 Dec 2019 00:42:17 +0000 Improvements in Windows PowerShell Container Images Tue, 10 Dec 2019 00:32:57 +0000 PowerShell 7 Preview 6 Fri, 22 Nov 2019 01:20:37 +0000 PowerShell Extension Roadmap Mon, 04 Nov 2019 13:19:35 +0000 DSC Resource Kit Release October 2019 Wed, 30 Oct 2019 20:52:48 +0000 PowerShell 7 Preview 5 Wed, 23 Oct 2019 19:11:44 +0000 DSC Resource Kit Release September 2019 Thu, 19 Sep 2019 18:07:12 +0000
≥ Tommy Maynard (Twitter: @thetommymaynard)