Unha solicitude web que funciona de forma interactiva no servidor B pode recibir 407 cando o mesmo comando se executa alí mediante PowerShell remoting. Iniciar sesión de A a B non delega automaticamente esa identidade para o seguinte intercambio de autenticación de B.

A → remoting session on B → HTTP proxy → website

Un deseño admitido é proporcionar a conta de proxy explicitamente para a solicitude saínte. Cunha PSSession existente e un obxecto PSCredential obtido correctamente:

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
}

O obxecto de credenciais é para a conta prevista do proxy. A sesión segue usando a súa autenticación remoting habitual, e calquera inicio de sesión nun sitio web segue formando parte desa solicitude.

Isto evita depender da delegación automática do primeiro inicio de sesión. Si esixe que o host remoto trate o material de conta subministrado como parte do deseño administrativo previsto. Outras arquitecturas, como un punto de conexión RunAs xestionado ou un acceso de servizo restrinxido, teñen os seus propios requisitos de configuración.

Se as credenciais de proxy predeterminadas eran a suposición incorrecta, rexistre a conta coa que se executa o comando remoto e a autenticación que solicita o proxy. Un tempo de espera máis longo da solicitude web non pode achegar credenciais que faltan.

As opcións de proxy de New-PSSessionOption afectan a propia conexión de remoting. Configure Invoke-WebRequest dentro do bloque de script remoto cando sexa a conexión web saínte de B a que necesite o proxy.

Artigos relacionados