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.

Súvisiace články