2013-03-04 4 views
16

Warnung Wenn in Powershell 3,0Mit Invoke-webRequest in Powershell 3.0 laicht einen Windows-Sicherheits

PS> $data = Invoke-Webrequest -Uri stackoverflow.com 
PS> $data.ParsedHtml.getElementsByTagName("div") 

ich diese Warnung mit dem folgenden Code:

Windows-Sicherheitswarnung - dieser Webseite zu ermöglichen Informationen bereitstellen personalisiert für Sie, werden Sie erlauben, dass es eine kleine Datei (genannt Cookie) auf Ihrem Computer?

Ich möchte wirklich zu Unterdrückungs Diese Nachricht oder Code hinzufügen, Cookies zu behandeln, so dass der Code geplant werden konnte.

Ich habe versucht, die Website in IE Cookies zu erlauben und sogar die "User Account Control Settings", aber ohne Erfolg zu senken.

Antwort

19
$data = Invoke-WebRequest http://stackoverflow.com -UseBasicParsing 

Es sieht aus wie ein Internet Explorer-Eingabeaufforderung, ist dies, weil unter der Haube Invoke-WebRequest ist wahrscheinlich Internet Explorer mit dem DOM zu analysieren. Wenn Sie den Parameter -UseBasicParsing verwenden, weist Sie PowerShell an, einen eigenen Parser zu verwenden. Aus irgendeinem Grund scheint es auch die Cookies zu verstecken.

+1

Wenn nicht '-UseBasicParsing' (es vermasselt den Rest meines Skripts), gibt es eine Möglichkeit, die Internet Explorer-Fenster Sitzungen von Invoke-WebRequest geöffnet zu schließen? – Quanda

2

Die Nachricht kann durch Lösen der Datenschutzeinstellungen in Ihrem Internet-Optionen enter image description here

Sie können in Ihrem Skript Sie verwenden für den Standort eine pro Standort pricavy Option auch nur hinzufügen, unterdrückt werden, sondern alle Cookies zuzulassen.

Im Gegensatz zu -UseBasicParsing Sie behalten die Analyse von Internet Explorer zur Verfügung gestellt. (Auf Kosten der gelösten Sicherheit)