Invoke-WebRequest
Ruft Inhalte von einer Webseite im Internet ab.
Syntax
Default (Standard)
Invoke-WebRequest
[-UseBasicParsing]
[-Uri] <Uri>
[-WebSession <WebRequestSession>]
[-SessionVariable <String>]
[-Credential <PSCredential>]
[-UseDefaultCredentials]
[-CertificateThumbprint <String>]
[-Certificate <X509Certificate>]
[-UserAgent <String>]
[-DisableKeepAlive]
[-TimeoutSec <Int32>]
[-Headers <IDictionary>]
[-MaximumRedirection <Int32>]
[-Method <WebRequestMethod>]
[-Proxy <Uri>]
[-ProxyCredential <PSCredential>]
[-ProxyUseDefaultCredentials]
[-Body <Object>]
[-ContentType <String>]
[-TransferEncoding <String>]
[-InFile <String>]
[-OutFile <String>]
[-PassThru]
[<CommonParameters>]
Beschreibung
Das Invoke-WebRequest Cmdlet sendet HTTP-, HTTPS-, FTP- und FILE-Anforderungen an eine Webseite oder einen Webdienst.
Das Cmdlet analysiert die Antwort und gibt Auflistungen von Formularen, Links, Bildern und anderen wichtigen HTML-Elementen zurück.
Dieses Cmdlet wurde in Windows PowerShell 3.0 eingeführt.
Hinweis
Standardmäßig kann Skriptcode auf der Webseite ausgeführt werden, wenn die Seite analysiert wird, um die ParsedHtml-Eigenschaft aufzufüllen.
Verwenden Sie die -UseBasicParsing Option, um dies zu unterdrücken.
Beispiele
Beispiel 1: Senden einer Webanforderung
Dieser Befehl verwendet das Invoke-WebRequest Cmdlet, um eine Webanforderung an die Bing.com Website zu senden.
$R = Invoke-WebRequest -URI https://www.bing.com?q=how+many+feet+in+a+mile
$R.AllElements | Where-Object {
$_.name -like "* Value" -and $_.tagName -eq "INPUT"
} | Select-Object Name, Value
name value
---- -----
From Value 1
To Value 5280
Der erste Befehl gibt die Anforderung aus und speichert die Antwort in der variablen $R.
Der zweite Befehl filtert die Objekte in der AllElements-Eigenschaft , wobei die name-Eigenschaft wie "* Value" und der tagName "INPUT" ist. Die gefilterten Ergebnisse werden weitergeleitet, um Select-Object die Namen - und Werteigenschaften auszuwählen.
Beispiel 2: Verwenden eines zustandsbehafteten Webdiensts
In diesem Beispiel wird gezeigt, wie Sie das Invoke-WebRequest Cmdlet mit einem zustandsbehafteten Webdienst wie Facebook verwenden.
$R = Invoke-WebRequest https://www.facebook.com/login.php -SessionVariable fb
# This command stores the first form in the Forms property of the $R variable in the $Form variable.
$Form = $R.Forms[0]
# This command shows the fields available in the Form.
$Form.fields
Key Value
--- -----
...
email
pass
...
# These commands populate the username and password of the respective Form fields.
$Form.Fields["email"]="User01@Fabrikam.com"
$Form.Fields["pass"]="P@ssw0rd"
# This command creates the Uri that will be used to log in to facebook.
# The value of the Uri parameter is the value of the Action property of the form.
$Uri = "https://www.facebook.com" + $Form.Action
# Now the Invoke-WebRequest cmdlet is used to sign into the Facebook web service.
# The WebRequestSession object in the $FB variable is passed as the value of the WebSession parameter.
# The value of the Body parameter is the hash table in the Fields property of the form.
# The value of the *Method* parameter is POST. The command saves the output in the $R variable.
$R = Invoke-WebRequest -Uri $Uri -WebSession $FB -Method POST -Body $Form.Fields
$R.StatusDescription
Der erste Befehl verwendet das Invoke-WebRequest Cmdlet, um eine Anmeldeanforderung zu senden. Der Befehl gibt einen Wert von "FB" für den Wert des SessionVariable-Parameters an und speichert das Ergebnis in der $R Variablen. Wenn der Befehl abgeschlossen ist, enthält die $R Variable ein HtmlWebResponseObject , und die $FB Variable enthält ein WebRequestSession -Objekt.
Nachdem sich das Invoke-WebRequest Cmdlet bei Facebook angemeldet hat, gibt die StatusDescription-Eigenschaft des Webantwortobjekts in der $R Variablen an, dass der Benutzer erfolgreich angemeldet ist.
Beispiel 3: Abrufen von Links von einer Webseite
Dieser Befehl ruft die Links auf einer Webseite ab.
(Invoke-WebRequest -Uri "https://devblogs.microsoft.com/powershell/").Links.Href
Das Invoke-WebRequest Cmdlet ruft den Inhalt der Webseite ab.
Anschließend wird die Links-Eigenschaft des zurückgegebenen HtmlWebResponseObject verwendet, um die Href-Eigenschaft der einzelnen Verknüpfungen anzuzeigen.
Beispiel 4: Erfassen von nicht erfolgreichen Nachrichten von Invoke-WebRequest
Wenn Invoke-WebRequest auf eine nicht erfolgreiche HTTP-Nachricht (404, 500 usw.) stoßen, gibt sie keine Ausgabe zurück und löst einen Beendigungsfehler aus. Zum Abfangen des Fehlers und Anzeigen des StatusCode- können Sie die Ausführung in einen try/catch-Block einschließen. Das folgende Beispiel zeigt, wie dies erreicht wird.
try
{
$response = Invoke-WebRequest -Uri "www.microsoft.com/unkownhost" -ErrorAction Stop
# This will only execute if the Invoke-WebRequest is successful.
$StatusCode = $Response.StatusCode
}
catch
{
$StatusCode = $_.Exception.Response.StatusCode.value__
}
$StatusCode
404
Der erste Befehl wird mit der Invoke-WebRequestStop aufgerufen, die erzwingtInvoke-WebRequest, dass bei allen fehlgeschlagenen Anforderungen ein Beendigungsfehler ausgelöst wird. Der Beendigungsfehler wird von dem Block abgefangen, der catch den StatusCode aus dem Exception-Objekt abruft.
Parameter
-Body
Gibt den Inhalt der Anforderung an.
Der Textkörper ist der Inhalt der Anforderung, die den Kopfzeilen folgt.
Sie können auch einen Body-Wert an Invoke-WebRequest weiterleiten.
Der parameter Body kann verwendet werden, um eine Liste der Abfrageparameter anzugeben oder den Inhalt der Antwort anzugeben.
Wenn die Eingabe eine GET-Anforderung ist und der Textkörper ein IDictionary (in der Regel eine Hashtabelle) ist, wird der Textkörper als Abfrageparameter dem URI hinzugefügt. Bei anderen GET-Anforderungen wird der Text als Wert des Anforderungstexts im Standardformat name=value festgelegt.
Wenn der Textkörper ein Formular ist oder die Ausgabe eines Invoke-WebRequest Aufrufs ist, legt PowerShell den Anforderungsinhalt auf die Formularfelder fest.
Beispiel:
$r = Invoke-WebRequest https://website.com/login.aspx
$r.Forms\[0\].Name = "MyName"
$r.Forms\[0\].Password = "MyPassword"
Invoke-RestMethod https://website.com/service.aspx -Body $r
- oder -
Invoke-RestMethod https://website.com/service.aspx -Body $r.Forms\[0\]
Parametereigenschaften
| Typ: | Object |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | True |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Certificate
Gibt das Clientzertifikat an, das für eine sichere Webanforderung verwendet wird. Geben Sie eine Variable ein, die ein Zertifikat enthält oder einen Befehl bzw. Ausdruck zum Abrufen des Zertifikats.
Um ein Zertifikat zu suchen, verwenden Sie Get-PfxCertificate das Get-ChildItem Cmdlet auf dem Laufwerk Zertifikat (Cert:).
Wenn das Zertifikat ungültig ist oder nicht über ausreichende Autorität verfügt, schlägt der Befehl fehl.
Parametereigenschaften
| Typ: | X509Certificate |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-CertificateThumbprint
Gibt das zertifikat für den digitalen öffentlichen Schlüssel (X509) eines Benutzerkontos an, das über die Berechtigung zum Senden der Anforderung verfügt. Geben Sie den Zertifikatfingerabdruck des Zertifikats ein. Zertifikate werden bei der zertifikatbasierten Authentifizierung von Clients verwendet. Sie können nur lokalen Benutzerkonten zugeordnet werden; sie funktionieren nicht mit Domänenkonten.
Verwenden Sie zum Abrufen eines Zertifikatfingerabdrucks den Befehl Get-Item oder Get-ChildItem im PowerShell-Cert: Laufwerk.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-ContentType
Gibt den Inhaltstyp der Webanforderung an.
Wenn dieser Parameter weggelassen wird und die Anforderungsmethode POST ist, Invoke-WebRequest wird der Inhaltstyp auf application/x-www-form-urlencoded festgelegt. Andernfalls wird der Inhaltstyp im Aufruf nicht angegeben.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Credential
Gibt ein Benutzerkonto an, das über die Berechtigung zum Senden der Anforderung verfügt. Die Standardeinstellung ist der aktuelle Benutzer.
Geben Sie einen Benutzernamen ein, z. B. User01 oder Domain01\User01, oder geben Sie ein PSCredential--Objekt ein, z. B. einen, der vom Cmdlet Get-Credential generiert wird.
Parametereigenschaften
| Typ: | PSCredential |
| Standardwert: | Current user |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-DisableKeepAlive
Gibt an, dass das Cmdlet den wert KeepAlive im HTTP-Header auf Falsefestlegt. Standardmäßig ist KeepAlive-True. KeepAlive stellt eine dauerhafte Verbindung mit dem Server her, um nachfolgende Anfragen zu erleichtern.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | KeepAlive |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Headers
Gibt die Kopfzeilen der Webanforderung an. Geben Sie eine Hashtabelle oder ein Wörterbuch ein.
Verwenden Sie zum Festlegen von UserAgent-Headern den Parameter "UserAgent ". Sie können diesen Parameter nicht verwenden, um UserAgent- oder Cookie-Header anzugeben.
Parametereigenschaften
| Typ: | IDictionary |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-InFile
Ruft den Inhalt der Webanforderung aus einer Datei ab.
Geben Sie einen Pfad und Dateinamen ein. Wenn Sie den Pfad weglassen, ist die Standardeinstellung der aktuelle Speicherort.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-MaximumRedirection
Gibt an, wie oft PowerShell eine Verbindung zu einem alternativen URI (Uniform Resource Identifier) umleitet, bevor die Verbindung fehlschlägt. Der Standardwert ist 5. Ein Wert von 0 (Null) verhindert die gesamte Umleitung.
Parametereigenschaften
| Typ: | Int32 |
| Standardwert: | 5 |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Method
Gibt die Methode an, die für die Webanforderung verwendet wird. Die zulässigen Werte für diesen Parameter sind:
- Standard
- Löschen
- Herunterladen
- Head
- Zusammenführen
- Optionen
- Patch
- Post
- Stellen
- Trace
Parametereigenschaften
| Typ: | WebRequestMethod |
| Standardwert: | Default |
| Zulässige Werte: | Default, Get, Head, Post, Put, Delete, Trace, Options, Merge, Patch |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-OutFile
Gibt die Ausgabedatei an, für die dieses Cmdlet den Antworttext speichert. Geben Sie einen Pfad und Dateinamen ein. Wenn Sie den Pfad weglassen, ist die Standardeinstellung der aktuelle Speicherort.
Standardmäßig gibt Invoke-WebRequest die Ergebnisse an die Pipeline zurück.
Um die Ergebnisse an eine Datei und an die Pipeline zu senden, verwenden Sie den Passthru-Parameter .
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-PassThru
Gibt an, dass das Cmdlet die Ergebnisse zusätzlich zum Schreiben in eine Datei zurückgibt. Dieser Parameter ist nur gültig, wenn der parameter OutFile auch im Befehl verwendet wird.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | False |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Proxy
Gibt einen Proxyserver für die Anforderung an, anstatt eine direkte Verbindung mit der Internetressource herzustellen. Geben Sie den URI eines Netzwerkproxyservers ein.
Parametereigenschaften
| Typ: | Uri |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-ProxyCredential
Gibt ein Benutzerkonto an, das über die Berechtigung zum Verwenden des Proxyservers verfügt, der durch den Proxyparameter angegeben wird. Die Standardeinstellung ist der aktuelle Benutzer.
Geben Sie einen Benutzernamen ein, z. B. User01 oder Domain01\User01, oder geben Sie ein PSCredential--Objekt ein, z. B. einen, der vom Cmdlet Get-Credential generiert wird.
Dieser Parameter ist nur gültig, wenn der parameter Proxy auch im Befehl verwendet wird. Sie können die Parameter ProxyCredential und ProxyUseDefaultCredentials nicht im selben Befehl verwenden.
Parametereigenschaften
| Typ: | PSCredential |
| Standardwert: | Current user |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-ProxyUseDefaultCredentials
Gibt an, dass das Cmdlet die Anmeldeinformationen des aktuellen Benutzers verwendet, um auf den Proxyserver zuzugreifen, der vom parameter Proxy angegeben wird.
Dieser Parameter ist nur gültig, wenn der parameter Proxy auch im Befehl verwendet wird. Sie können die Parameter ProxyCredential und ProxyUseDefaultCredentials nicht im selben Befehl verwenden.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-SessionVariable
Gibt eine Variable an, für die dieses Cmdlet eine Webanforderungssitzung erstellt und im Wert speichert.
Geben Sie einen Variablennamen ohne das Dollarzeichen ($) ein.
Wenn Sie eine Sitzungsvariable angeben, erstellt Invoke-WebRequest ein Webanforderungssitzungsobjekt und weist sie einer Variablen mit dem angegebenen Namen in Ihrer PowerShell-Sitzung zu. Sie können die Variable in Ihrer Sitzung verwenden, sobald der Befehl abgeschlossen ist.
Im Gegensatz zu einer Remotesitzung besteht bei der Webanforderungssitzung keine persistente Verbindung. Es handelt sich um ein Objekt, das Informationen über die Verbindung und die Anforderung enthält, einschließlich Cookies, Anmeldeinformationen, dem Maximalwert für Umleitungen und der Zeichenfolge des Benutzer-Agents. Sie können es verwenden, um Status und Daten zwischen Webanforderungen auszutauschen.
Um die Webanforderungssitzung in nachfolgenden Webanforderungen zu verwenden, geben Sie die Sitzungsvariable im Wert des WebSession--Parameters an. PowerShell verwendet die Daten im Webanforderungssitzungsobjekt beim Herstellen der neuen Verbindung. Um einen Wert in der Webanforderungssitzung außer Kraft zu setzen, verwenden Sie einen Cmdlet-Parameter, z. B. UserAgent- oder anmeldeinformationen. Parameterwerte haben Vorrang vor Werten in der Webanforderungssitzung.
Sie können die Parameter SessionVariable und WebSession nicht im selben Befehl verwenden.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | SV |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-TimeoutSec
Gibt an, wie lange die Anforderung ausstehen kann, bevor es zu einer Zeitüberschreitung kommt. Bitte geben Sie einen Wert in Sekunden ein. Der Standardwert 0 gibt ein unbestimmtes Timeout an.
Eine DNS-Abfrage (Domain Name System) kann bis zu 15 Sekunden dauern, bis ein Timeout zurückgegeben oder beendet wird. Wenn Ihre Anforderung einen Hostnamen enthält, der eine Auflösung erfordert, und Sie TimeoutSec auf einen Wert größer als Null festlegen, aber weniger als 15 Sekunden, kann es 15 Sekunden oder mehr dauern, bis eine WebException ausgelöst wird, und Die Anforderung timeoutout.
Parametereigenschaften
| Typ: | Int32 |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-TransferEncoding
Gibt einen Wert für den Transfer-Encoding-Header der HTTP-Antwort an. Die zulässigen Werte für diesen Parameter sind:
- In Blöcken aufgeteilt
- Komprimieren
- Luft ablassen
- GZip
- Identität
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Zulässige Werte: | chunked, compress, deflate, gzip, identity |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Uri
Gibt den URI (Uniform Resource Identifier) der Internetressource an, an die die Webanforderung gesendet wird. Geben Sie einen URI ein. Dieser Parameter unterstützt HTTP-, HTTPS-, FTP- und FILE-Werte.
Dieser Parameter ist erforderlich.
Parametereigenschaften
| Typ: | Uri |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | 0 |
| Obligatorisch: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-UseBasicParsing
Gibt an, dass das Cmdlet das Antwortobjekt für HTML-Inhalte ohne DOM-Analyse (Document Object Model) verwendet. Dieser Parameter ist erforderlich, wenn Internet Explorer nicht auf den Computern installiert ist, wie z. B. im Falle einer Server Core-Installation eines Windows Server-Betriebssystems.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | False |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-UseDefaultCredentials
Gibt an, dass der cmdet die Anmeldeinformationen des aktuellen Benutzers verwendet, um die Webanforderung zu senden.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | False |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-UserAgent
Gibt eine Benutzer-Agent-Zeichenfolge für die Webanforderung an. Der Standardbenutzer-Agent ähnelt Mozilla/5.0 (Windows NT; Windows NT 6.1; en-US) WindowsPowerShell/3.0 mit geringfügigen Variationen für jedes Betriebssystem und jede Plattform.
Um eine Website mit der standardmäßigen User-Agent-Zeichenfolge zu testen, die von den meisten Internetbrowsern verwendet wird, verwenden Sie die Eigenschaften der PSUserAgent-Klasse , z. B. Chrome, FireFox, InternetExplorer, Opera und Safari. Der folgende Befehl verwendet z. B. die Benutzer-Agent-Zeichenfolge für Internet Explorer
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-WebSession
Gibt eine Webanfragesitzung an.
Geben Sie den Variablennamen ein, einschließlich des Dollarzeichens ($).
Um einen Wert in der Webanforderungssitzung außer Kraft zu setzen, verwenden Sie einen Cmdlet-Parameter, z. B. UserAgent- oder anmeldeinformationen. Parameterwerte haben Vorrang vor Werten in der Webanforderungssitzung.
Im Gegensatz zu einer Remotesitzung besteht bei der Webanforderungssitzung keine persistente Verbindung. Es handelt sich um ein Objekt, das Informationen über die Verbindung und die Anforderung enthält, einschließlich Cookies, Anmeldeinformationen, dem Maximalwert für Umleitungen und der Zeichenfolge des Benutzer-Agents. Sie können es verwenden, um Status und Daten zwischen Webanforderungen auszutauschen.
Um eine Webanforderungssitzung zu erstellen, geben Sie einen Variablennamen (ohne Dollarzeichen) in den Wert des Parameters SessionVariable eines Invoke-WebRequest Befehls ein.
Invoke-WebRequest erstellt die Sitzung und speichert sie in der Variablen. Verwenden Sie in nachfolgenden Befehlen die Variable als Wert des WebSession--Parameters.
Sie können die Parameter SessionVariable und WebSession nicht im selben Befehl verwenden.
Parametereigenschaften
| Typ: | WebRequestSession |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
CommonParameters
Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.
Eingaben
Object
Sie können den Text einer Webanforderung über die Pipeline an Invoke-WebRequest.