Prihlasovacie údaje proxy na druhom PowerShell skoku
Odovzdajte zamýšľaný proxy účet do Invoke-WebRequest na vzdialenom serveri namiesto toho, aby ste predpokladali, že prihlásenie cez remoting sa deleguje.
Webová požiadavka, ktorá na serveri B funguje interaktívne, môže dostať 407, keď sa ten istý príkaz spustí tam cez PowerShell remoting. Prihlásenie z A na B automaticky nedeleguje túto identitu pre ďalšiu overovaciu výmenu na B.
A → remoting session on B → HTTP proxy → website
Jedno podporované riešenie je odovzdať proxy účet explicitne pre odchádzajúcu požiadavku. S existujúcou PSSession a vhodne získaným objektom PSCredential:
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 prihlasovacích údajov je určený pre zamýšľaný účet proxy. Relácia naďalej používa bežné overovanie remoting a akékoľvek prihlásenie na web zostáva súčasťou požiadavky na tento web.
Tým sa vyhnete spoliehaniu na automatické delegovanie prvého prihlásenia. Vyžaduje však, aby vzdialený hostiteľ nakladal s odovzdaným materiálom účtu ako so súčasťou zamýšľaného administratívneho návrhu. Iné architektúry, napríklad spravovaný koncový bod RunAs alebo obmedzený prístup k službe, majú vlastné požiadavky na konfiguráciu.
Ak boli chybným predpokladom predvolené prihlasovacie údaje proxy, zaznamenajte účet, pod ktorým sa vzdialený príkaz spúšťa, a overovanie, ktoré proxy vyžaduje. Dlhší časový limit webovej požiadavky chýbajúce údaje nedodá.
Možnosti proxy v New-PSSessionOption sa týkajú samotného pripojenia remoting. Nakonfigurujte Invoke-WebRequest vo vzdialenom bloku skriptu, keď je to odchádzajúce webové pripojenie B, ktoré proxy potrebuje.