Lo he estado utilizando Invoke-WebRequestcon éxito para publicar solicitudes en una API basada en REST de PowerShell.
Invoke-WebRequest -UseBasicParsing https://my-rest-api.com/endpoint -ContentType "application/json" -Method POST -Body $json
Hoy me encontré con lo Invoke-RestMethodque suena más apropiado para lo que estoy haciendo. ¿Cuál es la diferencia, y hay alguna razón para usar una sobre la otra?

Get-Helppáginas de ambos cmdlets. Supongo queInvoke-RestMethodse publicó técnicamente primero, ya que el enlace "Versión en línea"Get-Helptermina con un número menor que el que se encuentra enInvoke-WebRequestla página.Respuestas:
Puede averiguarlo descompilando el
Microsoft.PowerShell.Commands.Utilityensamblaje.Básicamente,
Invoke-WebRequestno se trata de analizar mucho los datos. Con-UseBasicParsing, realiza un análisis HTML basado en Regex. Sin este modificador, usará la API COM de Internet Explorer para analizar el documento.Eso es. Siempre intentará analizar HTML.
Invoke-RestMethodpor otro lado tiene código para soportar contenido JSON y XML. Intentará detectar un decodificador apropiado. No , no es compatible con HTML (a excepción de HTML compatible con XML, por supuesto).Ambos comparten la misma lógica central para realizar la solicitud HTTP real. Es solo en el procesamiento de resultados que difieren.
¡Ver es creer!
fuente
systemcenterautomation.com hizo una publicación de blog sobre esto . La conclusión:
fuente