Web-pyyntö, joka toimii vuorovaikutteisesti palvelimella B, voi saada 407, kun sama komento suoritetaan siellä PowerShell remotingin kautta. Kirjautuminen A:sta B:hen ei välitä tätä identiteettiä automaattisesti B:n seuraavaa todennusvaihtoa varten.

A → remoting session on B → HTTP proxy → website

Yksi tuettu ratkaisu on antaa välityspalvelintili nimenomaisesti lähtevää pyyntöä varten. Olemassa olevalla PSSessionilla ja asianmukaisesti hankitulla PSCredential-objektilla:

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
}

Tunnistetieto-objekti on välityspalvelimen aiottua tiliä varten. Istunto käyttää edelleen tavanomaista remoting-todennustaan, ja mahdollinen verkkosivustokirjautuminen on edelleen osa kyseistä sivustopyyntöä.

Näin vältetään nojaamasta ensimmäisen kirjautumisen automaattiseen välittämiseen. Se kuitenkin edellyttää, että etäisäntä käsittelee annetun tiliaineiston osana aiottua hallintaratkaisua. Muilla arkkitehtuureilla, kuten hallitulla RunAs-päätepisteellä tai rajoitetulla palvelukäytöllä, on omat määritysvaatimuksensa.

Jos oletusarvoiset välityspalvelimen tunnistetiedot olivat väärä oletus, kirjaa ylös tili, jonka alla etäkomento suoritetaan, ja todennus, jota välityspalvelin pyytää. Pidempi web-pyynnön aikakatkaisu ei voi tarjota puuttuvia tunnistetietoja.

New-PSSessionOptionin välityspalvelinasetukset koskevat itse remoting-yhteyttä. Määritä Invoke-WebRequest etäskriptilohkon sisällä, kun juuri B:n ulospäin suuntautuva verkkoyhteys tarvitsee välityspalvelinta.

Aiheeseen liittyvät artikkelit