TASTE-OF-IT

Powershell Fehler – FirstRunWizard – Internet Explorer engine is not available

PowerShell Logo

PowerShell Logo

In einem Powershell Script hatte ich folgenden Befehl, um Daten aus von einer URL abzurufen, verwendet:

$myVar=Invoke-WebRequest -Uri $uri -ContentType "application/x-www-form-urlencoded" -Body $authBody -Method Post -ErrorAction Stop

Als User ausgeführt funktionierte alles auch ohne Probleme. Das Script sollte dann aber automatisch per Task laufen. Dort hatte ich System als Benutzer unter dem es laufen soll angegeben und ich erhielt beim ersten Lauf folgende Fehlermeldung:

The response content cannot be parsed because the Internet Explorer engine is not available, or. ... The response content cannot be parsed because the Internet Explorer engine is not available, or Internet Explorer's first-launch configuration is not complete.

Die Ursache war dann auch schnell gefunden. Der Befehl Invoke-WebRequest setzt auf den installierten Internet Explorer und da System ja kein üblicher Benutzer ist, wird dort nie der Internet Explorer ausgeführt.

Die Lösung ist den Parameter -UserBasicParsing dem Befehl Invoke-WebRequest anzuhängen. Das sieht dann wie folgt aus:

$myVar=Invoke-WebRequest -Uri $uri -ContentType "application/x-www-form-urlencoded" -Body $authBody -Method Post -ErrorAction Stop -UseBasicParsing

Laut Dokumentation wird dieser Parameter immer benötigt, wenn kein Internet Explorer installiert ist, oder nicht konfiguriert, wie bei Windows Server Core Installationen, wurde. Andere Möglichkeiten (ungetestet) sollen sein:

Internet Explorer First Run
PS> Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Internet Explorer\Main" -Name "DisableFirstRunCustomize" -Value 2

Have Fun …

Die mobile Version verlassen