Una sol·licitud web que funciona interactivament al servidor B pot rebre 407 quan la mateixa ordre s'hi executa mitjançant PowerShell remoting. Iniciar sessió d'A a B no delega automàticament aquesta identitat per al següent intercanvi d'autenticació de B.

A → remoting session on B → HTTP proxy → website

Un disseny admès és proporcionar el compte de proxy explícitament per a la sol·licitud sortint. Amb una PSSession existent i un objecte PSCredential obtingut adequadament:

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
}

L'objecte de credencials és per al compte previst del proxy. La sessió continua utilitzant la seva autenticació de remoting habitual, i qualsevol inici de sessió a un lloc web continua formant part d'aquella sol·licitud.

Això evita dependre de la delegació automàtica del primer inici de sessió. Sí que requereix que l'amfitrió remot tracti el material del compte proporcionat com a part del disseny administratiu previst. Altres arquitectures, com un punt de connexió RunAs gestionat o un accés de servei restringit, tenen els seus propis requisits de configuració.

Si les credencials de proxy predeterminades eren la suposició errònia, registra el compte amb què s'executa l'ordre remota i l'autenticació que demana el proxy. Un temps d'espera més llarg de la sol·licitud web no pot proporcionar credencials que falten.

Les opcions de proxy de New-PSSessionOption afecten la connexió de remoting mateixa. Configura Invoke-WebRequest dins del bloc d'script remot quan la connexió web sortint de B sigui la que necessita el proxy.

Articles relacionats