Invoke-WebRequest: välityspalvelimen tunnistetietojen toimittaminen PowerShellissä
Invoke-WebRequestillä on erilliset parametrit välityspalvelimen tunnistetiedoille. Kohteen tunnistetiedot ja selaimen onnistunut kirjautuminen eivät korvaa niitä.
Anna eksplisiittiselle välityspalvelintilille tunnistetieto-objekti parametrille -ProxyCredential:
$proxyAccount = Get-Credential
Invoke-WebRequest -Uri https://example.com/ -Proxy http://proxy.example:8080 -ProxyCredential $proxyAccountKorvaa päätepiste hyväksytyllä palvelulla. Get-Credential kysyy tiliä sen sijaan, että upottaisi salasanan komentoriville. Tämä tili menee välittäjälle; kohteen tunnistetiedot ovat erillinen parametri eivätkä voi vastata välityspalvelimen 407:ään.
Jos välityspalvelimen todennusmenetelmä ja prosessin identiteetti tukevat integroitua todennusta, valitse sen sijaan -ProxyUseDefaultCredentials. Älä yhdistä sitä eksplisiittiseen välityspalvelimen tunnistetietoon samassa pyynnössä.
Tarkista skriptiä suorittavan PowerShell-version viite. Windows PowerShell ja moderni PowerShell eroavat toteutuksessa ja parametrien saatavuudessa; tuetut versiot tarjoavat myös -NoProxy eksplisiittiselle suoralle pyynnölle.
Kun sama skripti käyttäytyy toisin tehtävänä
Tarkastele asiaankuuluvia $PSDefaultParameterValues-merkintöjä ja prosessin tukemaa välityspalvelinkokoonpanoa. Profiili voi istunnon alussa lisätä komentokohtaiset välityspalvelimen oletusarvot. Ajoitettu tehtävä voi ohittaa kyseisen profiilin ja toimia toisella identiteetillä, vaikka skriptitiedosto ei muutu.
Vertaa kohde-URL:ää, valittua päätepistettä, vaadittua välityspalvelinmenetelmää, PowerShell-versiota sekä eksplisiittisiä ja oletusarvoisia tunnistetietoja pitäen salaisuudet peitettyinä. Jos välityspalvelimen todennus onnistuu ja kohde palauttaa 401, tutki kyseisen kohteen kirjautumista sen sijaan, että siirtäisit välityspalvelimen salasanan alkuperän tunnistetietoparametriin.