Nuestros investigadores estrellas han agotado sus provisiones de café, por su búsqueda diariamente por la respuesta, hasta que Leonardo halló el hallazgo en Gitea así que ahora la compartimos con nosotros.
Solución:
En su solicitud web de invocación, simplemente use el parámetro -UseBasicParsing
por ejemplo, en su script (línea 2) debe usar:
$rss = Invoke-WebRequest -Uri $url -UseBasicParsing
Según la documentación, este parámetro es necesario en sistemas donde IE no está instalado o configurado:
Utiliza el objeto de respuesta para contenido HTML sin análisis del modelo de objetos de documento (DOM). Este parámetro es necesario cuando Internet Explorer no está instalado en las computadoras, como en una instalación Server Core de un sistema operativo Windows Server.
Para que funcione sin modificar sus scripts:
Encontré una solución aquí: http://wahlnetwork.com/2015/11/17/solution-the-first-launch-configuration-error-with-powershells-invoke-webrequest-cmdlet/
Probablemente el error esté surgiendo porque IE aún no se ha iniciado por primera vez, lo que hace que aparezca la ventana a continuación. Inícielo y pase por esa pantalla, y luego el mensaje de error ya no aparecerá. No es necesario modificar ningún script.
Es seguro porque el comando Invoke-WebRequest depende de los ensamblados de Internet Explorer y lo está invocando para analizar el resultado según el comportamiento predeterminado. Como sugiere Matt, simplemente puede iniciar IE y hacer su selección en el mensaje de configuración que aparece en el primer lanzamiento. Y el error que experimentes desaparecerá.
Pero esto solo es posible si ejecuta sus scripts de PowerShell como el mismo usuario de Windows con el que inició el IE. La configuración de IE se almacena en su perfil de Windows actual. Entonces, si usted, como yo, ejecuta su tarea en un programador en un servidor como usuario del SISTEMA, esto no funcionará.
Así que aquí tendrá que cambiar sus scripts y agregar el argumento -UseBasicParsing, como en este ejemplo: $WebResponse = Invoke-WebRequest -Uri $url -TimeoutSec 1800 -ErrorAction:Stop -Method:Post -Headers $headers -UseBasicParsing
Reseñas y valoraciones
Agradecemos que quieras ayudar nuestra publicación exponiendo un comentario o dejando una valoración te estamos agradecidos.