Proxy hitelesítő adatok a második PowerShell ugrásnál
Adja át a szándékolt proxyfiókot a távoli kiszolgálón futó Invoke-WebRequestnek, ahelyett hogy feltételezné, hogy a remoting-bejelentkezés delegálva van.
Egy B kiszolgálón interaktívan működő webkérés 407-et kaphat, amikor ugyanaz a parancs ott PowerShell remotingon keresztül fut. Az A-ból B-be történő bejelentkezés nem delegálja automatikusan ezt az identitást B következő hitelesítési cseréjéhez.
A → remoting session on B → HTTP proxy → website
Egy támogatott megoldás, hogy a proxyfiókot kifejezetten megadjuk a kimenő kéréshez. Meglévő PSSessionnel és megfelelően beszerzett PSCredential objektummal:
Invoke-Command -Session $session -ArgumentList $proxyCredential -ScriptBlock {
param([pscredential]$outboundProxyCredential)
$requestOptions = @{
Uri = 'https://api.example/'
Proxy = 'http://proxy.example:8080'
ProxyCredential = $outboundProxyCredential
}
Invoke-WebRequest @requestOptions
}
A hitelesítő objektum a proxy szándékolt fiókjához tartozik. A munkamenet továbbra is a szokásos remoting-hitelesítését használja, és bármely webhely-bejelentkezés az adott webhely kérésének része marad.
Ez elkerüli az első bejelentkezés automatikus delegálására való támaszkodást. Ehhez viszont a távoli gazdagépnek a szándékolt adminisztrációs kialakítás részeként kell kezelnie az átadott fiókanyagot. Más architektúráknak, például egy felügyelt RunAs végpontnak vagy korlátozott szolgáltatáshozzáférésnek, saját konfigurációs követelményei vannak.
Ha az alapértelmezett proxy hitelesítő adatok voltak a hibás feltételezés, jegyezze fel a fiókot, amely alatt a távoli parancs fut, és a hitelesítést, amelyet a proxy kér. A hosszabb webkérési időkorlát nem tud hiányzó hitelesítő adatokat biztosítani.
A New-PSSessionOption proxybeállításai magára a remoting-kapcsolatra vonatkoznak. Konfigurálja az Invoke-WebRequestet a távoli parancsblokkon belül, amikor B kifelé irányuló webkapcsolata az, amelyiknek proxyra van szüksége.