Invoke-WebRequest: odovzdávanie prihlasovacích údajov proxy v PowerShelli
Invoke-WebRequest má pre prihlasovacie údaje proxy samostatné parametre. Údaje cieľa ani úspešné prihlásenie v prehliadači ich nenahrádzajú.
Pre explicitný účet proxy odovzdajte objekt prihlasovacích údajov do -ProxyCredential:
$proxyAccount = Get-Credential
Invoke-WebRequest -Uri https://example.com/ -Proxy http://proxy.example:8080 -ProxyCredential $proxyAccountNahraďte koncový bod schválenou službou. Get-Credential sa opýta na účet, namiesto toho, aby vložil heslo do príkazového riadka. Tento účet ide sprostredkovateľovi; údaje cieľa sú samostatný parameter a nemôžu odpovedať na 407 proxy.
Ak schéma overovania proxy a identita procesu podporujú integrované overovanie, zvoľte -ProxyUseDefaultCredentials. Nekombinujte ho s explicitnými údajmi proxy v tej istej požiadavke.
Skontrolujte referenciu pre verziu PowerShellu, ktorá skript spúšťa. Windows PowerShell a moderný PowerShell sa líšia implementáciou aj dostupnosťou parametrov; podporované verzie poskytujú aj -NoProxy pre explicitnú priamu požiadavku.
Keď sa ten istý skript správa inak ako úloha
Preskúmajte príslušné položky $PSDefaultParameterValues a konfiguráciu proxy podporovanú procesom. Profil môže pri spustení relácie pridať predvolené nastavenia proxy pre konkrétny príkaz. Naplánovaná úloha môže tento profil vynechať a bežať pod inou identitou, aj keď sa súbor skriptu nezmenil.
Porovnajte URL cieľa, vybraný koncový bod, požadovanú metódu proxy, verziu PowerShellu a explicitné verzus predvolené údaje, pričom tajomstvá ponechajte skryté. Ak overenie proxy uspeje a cieľ vráti 401, preskúmajte prihlásenie k cieľu, namiesto presúvania hesla proxy do parametra údajov pôvodu.