Uma solicitação web que funciona interativamente no servidor B pode receber 407 quando o mesmo comando é executado lá por meio do PowerShell remoting. O logon de A para B não delega automaticamente essa identidade para a próxima troca de autenticação de B.

A → remoting session on B → HTTP proxy → website

Um design suportado é fornecer a conta de proxy explicitamente para a solicitação de saída. Com uma PSSession existente e um objeto PSCredential obtido adequadamente:

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 objeto de credenciais é para a conta pretendida do proxy. A sessão continua usando sua autenticação de remoting normal, e qualquer logon em site permanece parte da solicitação a esse site.

Isso evita depender da delegação automática do primeiro logon. No entanto, exige que o host remoto trate o material de conta fornecido como parte do design administrativo pretendido. Outras arquiteturas, como um endpoint RunAs gerenciado ou acesso de serviço restrito, têm seus próprios requisitos de configuração.

Se as credenciais de proxy padrão eram a suposição incorreta, registre a conta sob a qual o comando remoto é executado e a autenticação que o proxy solicita. Um tempo limite maior da solicitação web não pode fornecer credenciais ausentes.

As opções de proxy em New-PSSessionOption dizem respeito à própria conexão de remoting. Configure o Invoke-WebRequest dentro do bloco de script remoto quando for a conexão web de saída de B que precisa do proxy.

Artigos relacionados