Powershell Fehler – FirstRunWizard – Internet Explorer engine is not available

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:

  • falls unter einem bestimmten Benutzer läuft, sich mit diesem am System anmelden und den Internet Explorer starten und die ersten Schritte / Ersteinrichtung durchführen
Internet Explorer First Run
Internet Explorer First Run
  • per Powershell in der Registry einfach den FirstRun Wizard deaktivieren:
PS> Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Internet Explorer\Main" -Name "DisableFirstRunCustomize" -Value 2
  • falls man sich nicht anmelden darf / kann, kann man auch den entsprechenden Regkey von einem anderen User exportieren, den betroffenen User eintragen und importieren
  • oder per Gruppenrichtlinie (GPO) den First Run abschalten: Computer Configuration > Policies > Administrative Templates > Windows Components > Internet Explorer und auf Enable setzen sowie eine Option nach Gusto auswählen

Have Fun …

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.