Proxy akreditivi na drugom PowerShell skoku
Predajte namijenjeni proxy račun za Invoke-WebRequest koji radi na udaljenom serveru umjesto da pretpostavljate da je remoting prijava delegirana.
Web zahtjev koji interaktivno radi na serveru B može dobiti 407 kada se ista naredba tamo izvrši kroz PowerShell remoting. Prijava sa A na B ne delegira automatski taj identitet za sljedeću autentifikacijsku razmjenu na B.
A → remoting session on B → HTTP proxy → website
Jedan podržani pristup je da se proxy račun eksplicitno preda za odlazni zahtjev. Uz postojeći PSSession i ispravno pribavljen PSCredential objekt:
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
}
Objekt akreditiva namijenjen je predviđenom računu proxyja. Sesija i dalje koristi svoju uobičajenu remoting autentifikaciju, a svaka prijava na web stranicu ostaje dio zahtjeva prema toj stranici.
Time se izbjegava oslanjanje na automatsku delegaciju prve prijave. Zahtijeva, pak, da udaljeni host obrađuje predani materijal računa kao dio predviđenog administrativnog dizajna. Druge arhitekture, poput upravljane RunAs krajnje točke ili ograničenog pristupa servisu, imaju vlastite zahtjeve za konfiguraciju.
Ako su zadani proxy akreditivi bili pogrešna pretpostavka, zabilježite račun pod kojim se izvršava udaljena naredba i autentifikaciju koju proxy traži. Duže vremensko ograničenje web zahtjeva ne može osigurati akreditive koji nedostaju.
Proxy opcije na New-PSSessionOption tiču se same remoting veze. Konfigurirajte Invoke-WebRequest unutar udaljenog script blocka kada je B-ova odlazna web veza ta koja treba proxy.