Saltar al contenido

El contenido de la respuesta no se puede analizar porque el motor de Internet Explorer no está disponible o

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 decir, primera ventana de lanzamiento

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.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *