The term 'Invoke-WebRequest' is not recoginzed as the name of a cmdlet
Solution 1
I had this issue on a Windows Server 2008 R2 server, because it was running PowerShell v2. Upgrading to v4 fixed the issue.
Windows Management Framework 4.0 (includes PowerShell 4.0)
As of v5, Invoke-WebRequest
is still documented.
Check your version with:
$PSVersionTable.PSVersion
Solution 2
Trying to create the request in the same way I would do it for PS version 2 (using .net library instead of cmdlet) doesn't work either...
$request = [System.Net.WebRequest]::Create("https://google.com")
$request.Method = "GET"
[System.Net.WebResponse]$response = $request.GetResponse()
Solution 3
This appears to be removed in PowerShell Core.
I am searching for why this doesn't work on Docker for Windows running on Nano Server for Windows 2016 and your findings match mine.
![Dawid Komorowski](https://i.stack.imgur.com/RsUys.jpg?s=256&g=1)
Dawid Komorowski
Updated on March 08, 2020Comments
-
Dawid Komorowski over 4 years
I've got problem with executing Invoke-WebRequest cmdlet. I read that ~100% case of that scenario is PS version lower than 3, but it's not my case:
Name Value ---- ----- WSManStackVersion 3.0 PSRemotingProtocolVersion 2.3 CLRVersion 4.0.30319.34011 PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...} BuildVersion 10.0.10208.0 PSVersion 5.0.10208.0 SerializationVersion 1.1.0.1
I can add that I'm using Windows 10 IoT Core version of OS. In fact my main purpose is execution of simple web request, but I am interested why this cmdlet is not working, especially if more of them won't be ;/ I suppose it can be some windows feature like switch to turn on, but its just my guess.
Update
As far as I compared available cmdlets for certain modules, and preloaded assemblies between my regular system and an IoT version, it looks like the latter version is cut somehow, but I still didn't see any docs for that.