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
- 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 …
Interessiert in verschiedenste IT Themen, schreibe ich in diesem Blog über Software, Hardware, Smart Home, Games und vieles mehr. Ich berichte z.B. über die Installation und Konfiguration von Software als auch von Problemen mit dieser. News sind ebenso spannend, sodass ich auch über Updates, Releases und Neuigkeiten aus der IT berichte. Letztendlich nutze ich Taste-of-IT als eigene Dokumentation und Anlaufstelle bei wiederkehrenden Themen. Ich hoffe ich kann dich ebenso informieren und bei Problemen eine schnelle Lösung anbieten. Wer meinen Aufwand unterstützen möchte, kann gerne eine Tasse oder Pod Kaffe per PayPal spenden – vielen Dank.