Invoke-WebRequest: oppgi proxy-legitimasjon i PowerShell
Invoke-WebRequest har egne parametere for proxy-legitimasjon. Legitimasjon for målet og vellykket pålogging i nettleseren erstatter dem ikke.
For en eksplisitt proxy-konto, send et legitimasjonsobjekt til -ProxyCredential:
$proxyAccount = Get-Credential
Invoke-WebRequest -Uri https://example.com/ -Proxy http://proxy.example:8080 -ProxyCredential $proxyAccountErstatt endepunktet med den godkjente tjenesten. Get-Credential ber om en konto i stedet for å bygge inn et passord på kommandolinjen. Denne kontoen går til mellomleddet; mållegitimasjon er en egen parameter og kan ikke svare på en 407 fra proxyen.
Hvis proxyens autentiseringsskjema og prosessens identitet støtter integrert autentisering, velg -ProxyUseDefaultCredentials i stedet. Ikke kombiner det med eksplisitt proxy-legitimasjon i samme forespørsel.
Sjekk referansen for PowerShell-versjonen som kjører skriptet. Windows PowerShell og moderne PowerShell er forskjellige i implementasjon og parametertilgjengelighet; støttede versjoner tilbyr også -NoProxy for en eksplisitt direkte forespørsel.
Når det samme skriptet oppfører seg annerledes som en oppgave
Undersøk relevante $PSDefaultParameterValues-oppføringer og proxykonfigurasjonen prosessen støtter. En profil kan ved øktstart legge til kommandospesifikke proxy-standardverdier. En planlagt oppgave kan hoppe over denne profilen og kjøre som en annen identitet, selv om skriptfilen er uendret.
Sammenlign mål-URL, valgt endepunkt, påkrevd proxy-metode, PowerShell-versjon og eksplisitt kontra standardlegitimasjon, mens hemmeligheter holdes sladdet. Hvis proxyautentiseringen lykkes og målet returnerer 401, undersøk påloggingen til målet i stedet for å flytte proxy-passordet til parameteren for opprinnelseslegitimasjon.