Invoke-RestMethod
Wysyła żądanie HTTP lub HTTPS do usługi internetowej RESTful.
Składnia
Default (domyślnie)
Invoke-RestMethod
[-Method <WebRequestMethod>]
[-UseBasicParsing]
[-Uri] <Uri>
[-WebSession <WebRequestSession>]
[-SessionVariable <String>]
[-Credential <PSCredential>]
[-UseDefaultCredentials]
[-CertificateThumbprint <String>]
[-Certificate <X509Certificate>]
[-UserAgent <String>]
[-DisableKeepAlive]
[-TimeoutSec <Int32>]
[-Headers <IDictionary>]
[-MaximumRedirection <Int32>]
[-Proxy <Uri>]
[-ProxyCredential <PSCredential>]
[-ProxyUseDefaultCredentials]
[-Body <Object>]
[-ContentType <String>]
[-TransferEncoding <String>]
[-InFile <String>]
[-OutFile <String>]
[-PassThru]
[<CommonParameters>]
Opis
Polecenie cmdlet Invoke-RestMethod wysyła żądania HTTP i HTTPS do usług sieci Web Representational State Transfer (REST), które zwracają bogato ustrukturyzowane dane.
Program PowerShell formatuje odpowiedź na podstawie typu danych. W przypadku kanału informacyjnego RSS lub ATOM program PowerShell zwraca węzły XML Item lub Entry. W przypadku notacji obiektów JavaScript (JSON) lub XML program PowerShell konwertuje lub deserializuje zawartość na obiekty [pscustomobject]. Komentarze nie są dozwolone w danych JSON.
Ostrzeżenie
Domyślnie Invoke-RestMethod analizuje zawartość strony internetowej. Kod skryptu na stronie internetowej może być uruchamiany po przeanalizowaniu strony. Użyj przełącznika , -UseBasicParsing aby uniknąć wykonywania kodu skryptu.
Ten cmdlet został wprowadzony w programie Windows PowerShell 3.0. To polecenie można uruchomić przy użyciu aliasu irm .
Przykłady
Przykład 1. Pobieranie kanału informacyjnego RSS programu PowerShell
Invoke-RestMethod -Uri https://devblogs.microsoft.com/powershell/feed/ |
Format-Table -Property Title, pubDate
Title pubDate
----- -------
Join the PowerShell 10th Anniversary Celebration! Tue, 08 Nov 2016 23:00:04 +0000
DSC Resource Kit November 2016 Release Thu, 03 Nov 2016 00:19:07 +0000
PSScriptAnalyzer Community Call - Oct 18, 2016 Thu, 13 Oct 2016 17:52:35 +0000
New Home for In-Box DSC Resources Sat, 08 Oct 2016 07:13:10 +0000
New Social Features on Gallery Fri, 30 Sep 2016 23:04:34 +0000
PowerShellGet and PackageManagement in PowerShell Gallery and GitHub Thu, 29 Sep 2016 22:21:42 +0000
PowerShell Security at DerbyCon Wed, 28 Sep 2016 01:13:19 +0000
DSC Resource Kit September Release Thu, 22 Sep 2016 00:25:37 +0000
PowerShell DSC and implicit remoting broken in KB3176934 Tue, 23 Aug 2016 15:07:50 +0000
PowerShell on Linux and Open Source! Thu, 18 Aug 2016 15:32:02 +0000
To polecenie używa polecenia cmdlet Invoke-RestMethod, aby uzyskać informacje z kanału informacyjnego RSS bloga programu PowerShell. Polecenie używa cmdletu Format-Table do wyświetlania wartości właściwości Title i pubDate każdego bloga w tabeli.
Przykład 2
W poniższym przykładzie użytkownik uruchamia Invoke-RestMethod, aby wykonać żądanie POST w intranetowej witrynie internetowej w organizacji użytkownika.
$Cred = Get-Credential
# Next, allow the use of self-signed SSL certificates.
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = { $true }
# Create variables to store the values consumed by the Invoke-RestMethod command.
# The search variable contents are later embedded in the body variable.
$Server = 'server.contoso.com'
$Url = "https://${server}:8089/services/search/jobs/export"
$Search = "search index=_internal | reverse | table index,host,source,sourcetype,_raw"
# The cmdlet handles URL encoding. The body variable describes the search criteria, specifies CSV as
# the output mode, and specifies a time period for returned data that starts two days ago and ends
# one day ago. The body variable specifies values for parameters that apply to the particular REST
# API with which Invoke-RestMethod is communicating.
$Body = @{
search = $Search
output_mode = "csv"
earliest_time = "-2d@d"
latest_time = "-1d@d"
}
# Now, run the Invoke-RestMethod command with all variables in place, specifying a path and file
# name for the resulting CSV output file.
Invoke-RestMethod -Method Post -Uri $url -Credential $Cred -Body $body -OutFile output.csv
{"preview":true,"offset":0,"result":{"sourcetype":"contoso1","count":"9624"}}
{"preview":true,"offset":1,"result":{"sourcetype":"contoso2","count":"152"}}
{"preview":true,"offset":2,"result":{"sourcetype":"contoso3","count":"88494"}}
{"preview":true,"offset":3,"result":{"sourcetype":"contoso4","count":"15277"}}
Przykład 3. Przekazywanie wielu nagłówków
W tym przykładzie pokazano, jak przekazać wiele nagłówków z hash-table do interfejsu API REST.
$headers = @{
'userId' = 'UserIDValue'
'token' = 'TokenValue'
}
Invoke-RestMethod -Uri $uri -Method Post -Headers $headers -Body $body
Interfejsy API często wymagają przekazywania nagłówków na potrzeby uwierzytelniania, walidacji itp.
Przykład 3. Przesyłanie danych formularza
Jeżeli treść żądania jest formularzem albo jest to dane wyjściowe innego wywołania Invoke-WebRequest, program PowerShell ustawia zawartość żądania na odpowiadające pola formularza.
Przykład:
$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.Forms[0]
Przykład 4. Wyliczenie zwracanych elementów w potoku
GitHub zwraca wiele obiektów jako tablicę. Jeśli przesyłasz dane wyjściowe do innego polecenia, jest on wysyłany jako pojedynczy obiekt [Object[]].
Aby wyliczyć obiekty do potoku, należy przekazać wyniki do Write-Output lub umieścić polecenie cmdlet w nawiasach. Poniższy przykład zlicza liczbę obiektów zwracanych przez usługę GitHub. Następnie zlicza liczbę obiektów przekazanych do potoku.
$uri = 'https://api.github.com/repos/microsoftdocs/powershell-docs/issues'
$x = 0
Invoke-RestMethod -Uri $uri | ForEach-Object { $x++ }
$x
1
$x = 0
(Invoke-RestMethod -Uri $uri) | ForEach-Object { $x++ }
$x
30
$x = 0
Invoke-RestMethod -Uri $uri | Write-Output | ForEach-Object { $x++ }
$x
30
Parametry
-Body
Określa treść żądania. Ciało to zawartość żądania, które następuje po nagłówkach.
Możesz również przekazać wartość ciała do Invoke-RestMethod.
Parametr Treść może służyć do określenia listy parametrów zapytania lub określenia zawartości elementu .
prosić. Gdy dane wejściowe są żądaniem GET, a treść jest słownikiem (zazwyczaj tabelą skrótów), treść jest dodawana do identyfikatora URI jako parametry zapytania. W przypadku innych typów żądań (takich jak POST) treść jest ustawiana jako wartość treści żądania w standardowym formacie name=value.
Ostrzeżenie
Obszerne dane wyjściowe treści POST zakończą się na with -1-byte payload, chociaż rozmiar treści jest znany i przesyłany w nagłówku HTTP Content-Length.
Właściwości parametru
| Typ: | Object |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | True |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Certificate
Określa certyfikat klienta używany na potrzeby bezpiecznego żądania internetowego. Wprowadź zmienną zawierającą certyfikat, polecenie lub wyrażenie, które uzyskuje certyfikat.
Aby znaleźć certyfikat, użyj Get-PfxCertificate lub użyj polecenia cmdlet Get-ChildItem na dysku Certificate (Cert:). Jeśli certyfikat jest nieprawidłowy lub nie ma wystarczającego autorytetu, polecenie kończy się niepowodzeniem.
Właściwości parametru
| Typ: | X509Certificate |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-CertificateThumbprint
Określa cyfrowy certyfikat klucza publicznego (X509) konta użytkownika z uprawnieniami do wysyłania żądania. Wprowadź odcisk palca certyfikatu.
Certyfikaty są używane w uwierzytelnianiu opartym na certyfikatach klienta. Certyfikaty można mapować tylko na konta użytkowników lokalnych, a nie na konta domeny.
Aby wyświetlić odcisk palca certyfikatu, użyj polecenia Get-Item lub Get-ChildItem, aby znaleźć certyfikat w Cert:\CurrentUser\My.
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-ContentType
Określa typ zawartości żądania internetowego.
Jeśli wartość ContentType zawiera format kodowania (jak charset), polecenie cmdlet używa tego formatu do kodowania treści żądania internetowego. Jeśli ContentType nie określi formatu kodowania, zostanie użyty domyślny format kodowania. Przykładem ContentType z formatem kodowania jest text/plain; charset=iso-8859-5, który określa alfabet łaciński/cyrylica.
Jeśli pominięto parametr, typ zawartości może być inny w zależności od używanej metody HTTP:
- W przypadku metody POST typ zawartości jest
application/x-www-form-urlencoded - W przypadku metody PUT typ zawartości to
application/json - W przypadku innych metod typ zawartości nie jest określony w żądaniu
Jeśli używasz parametru InFile do przekazania pliku, należy ustawić typ zawartości.
Zazwyczaj typ powinien być application/octet-stream. Należy jednak ustawić typ zawartości na podstawie wymagań punktu końcowego.
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Credential
Określa konto użytkownika, które ma uprawnienia do wysyłania żądania. Wartość domyślna to bieżący użytkownik.
Wpisz nazwę użytkownika, taką jak User01 lub Domain01\User01, lub wprowadź obiekt PSCredential wygenerowany przez polecenie cmdlet Get-Credential.
Poświadczenia są przechowywane w obiekcie PSCredential, a hasło jest przechowywane jako SecureString.
Uwaga / Notatka
Aby uzyskać więcej informacji na temat ochrony danych SecureString, zobacz Jak bezpieczny jest protokół SecureString?.
Właściwości parametru
| Typ: | PSCredential |
| Domyślna wartość: | Current user |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-DisableKeepAlive
Ustawia wartość KeepAlive w nagłówku HTTP na wartość False. Domyślnie KeepAlive ma wartość True. KeepAlive ustanawia trwałe połączenie z serwerem w celu ułatwienia kolejnych żądań.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | False |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Headers
Określa nagłówki żądania internetowego. Wprowadź tabelę skrótu lub słownik.
Aby ustawić nagłówki UserAgent, użyj parametru UserAgent. Nie można użyć tego parametru do określenia nagłówków UserAgent lub cookie.
Właściwości parametru
| Typ: | IDictionary |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-InFile
Pobiera zawartość treści żądania internetowego z pliku. Wprowadź ścieżkę i nazwę pliku. Jeśli pominięto ścieżkę, wartość domyślna to bieżąca lokalizacja.
Należy również ustawić typ zawartości żądania. Aby na przykład przekazać plik, należy ustawić typ zawartości. Zazwyczaj typ powinien być application/octet-stream. Należy jednak ustawić typ zawartości na podstawie wymagań punktu końcowego.
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-MaximumRedirection
Określa, ile razy program Windows PowerShell przekierowuje połączenie z alternatywnym identyfikatorem URI (Uniform Resource Identifier) przed niepowodzeniem połączenia. Wartość domyślna to 5. Wartość 0 (zero) uniemożliwia wszystkie przekierowania.
Właściwości parametru
| Typ: | Int32 |
| Domyślna wartość: | 5 |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Method
Określa metodę używaną dla żądania internetowego. Dopuszczalne wartości tego parametru to:
DefaultDeleteGetHeadMergeOptionsPatchPostPutTrace
Właściwości parametru
| Typ: | WebRequestMethod |
| Domyślna wartość: | Default |
| Dopuszczalne wartości: | Default, Get, Head, Post, Put, Delete, Trace, Options, Merge, Patch |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-OutFile
Zapisuje treść odpowiedzi w określonym pliku wyjściowym. Wprowadź ścieżkę i nazwę pliku. Jeśli pominięto ścieżkę, wartość domyślna to bieżąca lokalizacja.
Domyślnie Invoke-RestMethod zwraca wyniki do potoku.
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-PassThru
Ten parametr jest prawidłowy tylko wtedy, gdy parametr OutFile jest również używany w poleceniu . Zamierzamy zapisać wyniki do pliku i do potoku danych.
Uwaga / Notatka
Jeśli używasz parametru PassThru, wynik jest zapisywany do potoku, ale plik jest pusty. Aby uzyskać więcej informacji, zobacz problem z programem PowerShell #15409.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | No output |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Proxy
Używa serwera proxy dla żądania zamiast łączyć się bezpośrednio z zasobem internetowym. Wprowadź identyfikator URI serwera proxy sieciowego.
Właściwości parametru
| Typ: | Uri |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-ProxyCredential
Określa konto użytkownika, które ma uprawnienia do używania serwera proxy określonego przez parametr Proxy. Wartość domyślna to bieżący użytkownik.
Wpisz nazwę użytkownika, taką jak "User01" lub "Domain01\User01", lub wprowadź obiekt PSCredential, taki jak jeden wygenerowany przez polecenie cmdlet Get-Credential.
Ten parametr jest prawidłowy tylko wtedy, gdy parametr serwera proxy jest również używany w poleceniu . Nie można użyć parametrów ProxyCredential i ProxyUseDefaultCredentials w tym samym poleceniu.
Właściwości parametru
| Typ: | PSCredential |
| Domyślna wartość: | Current user |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-ProxyUseDefaultCredentials
Używa poświadczeń bieżącego użytkownika, aby uzyskać dostęp do serwera proxy określonego przez parametr Proxy.
Ten parametr jest prawidłowy tylko wtedy, gdy parametr serwera proxy jest również używany w poleceniu . Nie można użyć parametrów ProxyCredential i ProxyUseDefaultCredentials w tym samym poleceniu.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-SessionVariable
Tworzy zmienną zawierającą sesję żądania internetowego. Wprowadź nazwę zmiennej bez symbolu znaku dolara ($).
Po określeniu zmiennej sesji Invoke-RestMethod tworzy obiekt sesji żądania sieci Web i przypisuje go do zmiennej o określonej nazwie w sesji programu PowerShell. Możesz użyć zmiennej w sesji, gdy tylko polecenie zostanie ukończone.
W przeciwieństwie do sesji zdalnej sesja żądania sieci Web nie jest trwałym połączeniem. Jest to obiekt, który zawiera informacje o połączeniu i żądaniu, w tym pliki cookie, poświadczenia, maksymalną wartość przekierowania i parametry agenta użytkownika. Możesz używać tego do udostępniania stanu i danych między żądaniami HTTP.
Aby użyć sesji żądania sieci Web w kolejnych żądaniach sieci Web, określ zmienną sesji w wartości parametru WebSession. Program PowerShell używa danych w obiekcie sesji żądania internetowego podczas nawiązywania nowego połączenia. Aby zastąpić wartość w sesji żądania internetowego, użyj parametru cmdlet, takiego jak UserAgent lub Credential. Wartości parametrów mają pierwszeństwo przed wartościami w sesji żądania internetowego.
Nie można użyć parametrów SessionVariable i WebSession w tym samym poleceniu.
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | SV |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-TimeoutSec
Określa, jak długo żądanie może być oczekiwane, zanim upłynie limit czasu. Wprowadź wartość w sekundach. Wartość domyślna 0 określa limit czasu nieokreślony.
Zapytanie do systemu nazw domen (DNS) może trwać do 15 sekund na zakończenie lub wyczerpanie limitu czasu. Jeśli żądanie zawiera nazwę hosta, która wymaga rozwiązania, i ustawisz TimeoutSec na wartość większą niż zero, ale mniejszą niż 15 sekund, może minąć 15 sekund lub więcej, zanim zostanie zgłoszony wyjątek WebException, a żądanie przekroczy limit czasu.
Właściwości parametru
| Typ: | Int32 |
| Domyślna wartość: | 0 |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-TransferEncoding
Określa wartość dla nagłówka odpowiedzi HTTP kodowania transferu. Dopuszczalne wartości tego parametru to:
ChunkedCompressDeflateGZipIdentity
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Dopuszczalne wartości: | chunked, compress, deflate, gzip, identity |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Uri
Określa identyfikator URI (Uniform Resource Identifier) zasobu internetowego, do którego jest wysyłane żądanie internetowe. Ten parametr obsługuje wartości HTTP, HTTPS, FTP i FILE.
Ten parametr jest wymagany. Nazwa parametru („Uri”) jest opcjonalna.
Właściwości parametru
| Typ: | Uri |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | 0 |
| Obowiązkowe: | True |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-UseBasicParsing
Wskazuje, że polecenie cmdlet używa podstawowego parsowania. Cmdlet zwraca nieprzetworzony HTML w obiekcie ciągu .
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-UseDefaultCredentials
Używa poświadczeń bieżącego użytkownika do wysłania żądania internetowego.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-UserAgent
Określa ciąg agenta użytkownika dla żądania internetowego.
Domyślny agent użytkownika jest podobny do Mozilla/5.0 (Windows NT 10.0; Microsoft Windows 10.0.15063; en-US) PowerShell/6.0.0 z niewielkimi odmianami dla każdego systemu operacyjnego i platformy.
Aby przetestować witrynę internetową przy użyciu standardowego ciągu agenta użytkownika używanego przez większość przeglądarek internetowych, użyj właściwości klasy PSUserAgent, takich jak Chrome, Firefox, InternetExplorer, Opera i Safari.
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-WebSession
Określa sesję żądania internetowego. Wprowadź nazwę zmiennej, w tym znak dolara ($).
Aby zastąpić wartość w sesji żądania internetowego, użyj parametru cmdlet, takiego jak UserAgent lub Credential. Wartości parametrów mają pierwszeństwo przed wartościami w sesji żądania internetowego.
W przeciwieństwie do sesji zdalnej sesja żądania sieci Web nie jest trwałym połączeniem. Jest to obiekt, który zawiera informacje o połączeniu i żądaniu, w tym pliki cookie, poświadczenia, maksymalną wartość przekierowania i parametry agenta użytkownika. Możesz używać tego do udostępniania stanu i danych między żądaniami HTTP.
Aby utworzyć sesję żądania internetowego, wprowadź nazwę zmiennej bez znaku dolara jako wartość parametru SessionVariable w poleceniu Invoke-RestMethod.
Invoke-RestMethod tworzy sesję i zapisuje ją w zmiennej. W kolejnych poleceniach użyj zmiennej jako wartości parametru WebSession.
Nie można użyć parametrów SessionVariable i WebSession w tym samym poleceniu.
Właściwości parametru
| Typ: | WebRequestSession |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
CommonParameters
To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.
Dane wejściowe
Object
Możesz przekazać treść żądania internetowego do tego polecenia cmdlet.
Dane wyjściowe
Int64
Gdy żądanie zwraca liczbę całkowitą, to polecenie cmdlet zwraca tę liczbę całkowitą.
String
Gdy żądanie zwraca ciąg, to polecenie cmdlet zwraca ten ciąg.
XmlDocument
Gdy żądanie zwraca prawidłowy kod XML, to polecenie cmdlet zwraca je jako XmlDocument.
PSObject
Gdy żądanie zwraca ciągi JSON, to polecenie cmdlet zwraca psObject reprezentujące dane.
Uwagi
Program Windows PowerShell zawiera następujące aliasy dla Invoke-RestMethod:
irm
Gdy punkt końcowy REST zwraca wiele obiektów, obiekty są odbierane jako tablica. Jeśli przesyłasz dane wyjściowe z Invoke-RestMethod do innego polecenia, jest on wysyłany jako pojedynczy obiekt [Object[]].
Zawartość tej tablicy nie jest przetwarzana dla następnego polecenia w linii poleceń.