Invoke-WebRequest: tarpinio serverio kredencialų perdavimas PowerShell
Invoke-WebRequest turi atskirus parametrus tarpinio serverio kredencialams. Paskirties kredencialai ir sėkmingas prisijungimas naršyklėje jų nepakeičia.
Jei tarpinio serverio paskyra nurodoma aiškiai, perduokite kredencialų objektą parametrui -ProxyCredential:
$proxyAccount = Get-Credential
Invoke-WebRequest -Uri https://example.com/ -Proxy http://proxy.example:8080 -ProxyCredential $proxyAccountPakeiskite galinį tašką patvirtinta paslauga. Get-Credential prašo paskyros, o ne įterpia slaptažodį į komandų eilutę. Ši paskyra siunčiama tarpininkui; paskirties kredencialai yra atskiras parametras ir negali atsakyti į tarpinio serverio 407.
Jei tarpinio serverio autentifikavimo schema ir proceso tapatybė palaiko integruotą autentifikavimą, pasirinkite -ProxyUseDefaultCredentials. Nenaudokite jo kartu su aiškiais tarpinio serverio kredencialais toje pačioje užklausoje.
Patikrinkite nuorodą apie PowerShell versiją, kuri vykdo scenarijų. Windows PowerShell ir šiuolaikinis PowerShell skiriasi įgyvendinimu ir parametrų prieinamumu; palaikomos versijos taip pat teikia -NoProxy aiškiai tiesioginei užklausai.
Kai tas pats scenarijus kaip užduotis elgiasi kitaip
Patikrinkite susijusius $PSDefaultParameterValues įrašus ir proceso palaikomą tarpinio serverio konfigūraciją. Profilis sesijos pradžioje gali pridėti komandai būdingus tarpinio serverio numatytuosius nustatymus. Suplanuota užduotis gali praleisti šį profilį ir veikti kita tapatybe, nors scenarijaus failas nepasikeitęs.
Palyginkite paskirties URL, pasirinktą galinį tašką, reikiamą tarpinio serverio metodą, PowerShell versiją ir aiškius bei numatytuosius kredencialus, slėpdami slaptus duomenis. Jei tarpinio serverio autentifikavimas pavyksta, o paskirtis grąžina 401, tirkite tos paskirties prisijungimą, o ne perkelkite tarpinio serverio slaptažodį į šaltinio kredencialų parametrą.