Een webaanvraag die interactief werkt op server B kan 407 krijgen wanneer hetzelfde commando daar via PowerShell remoting wordt uitgevoerd. Aanmelden van A naar B delegeert die identiteit niet automatisch voor de volgende verificatie-uitwisseling van B.

A → remoting session on B → HTTP proxy → website

Een ondersteund ontwerp is om het proxyaccount expliciet door te geven voor de uitgaande aanvraag. Met een bestaande PSSession en een correct verkregen PSCredential-object:

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
}

Het referentieobject is voor het bedoelde account van de proxy. De sessie gebruikt nog steeds de normale remoting-verificatie, en elke aanmelding bij een website blijft deel van die websiteaanvraag.

Dit voorkomt dat u vertrouwt op automatische delegatie van de eerste aanmelding. Het vereist wel dat de externe host het doorgegeven accountmateriaal behandelt als onderdeel van het bedoelde beheerontwerp. Andere architecturen, zoals een beheerd RunAs-eindpunt of beperkte servicetoegang, hebben hun eigen configuratievereisten.

Als de standaard proxyreferenties de onjuiste aanname waren, noteer dan het account waaronder het externe commando draait en de verificatie die de proxy vraagt. Een langere time-out voor de webaanvraag kan ontbrekende referenties niet leveren.

De proxyopties op New-PSSessionOption betreffen de remoting-verbinding zelf. Configureer Invoke-WebRequest in het externe scriptblok wanneer de uitgaande webverbinding van B de proxy nodig heeft.

Gerelateerde artikelen