W przypadku jawnego konta serwera proxy przekaż obiekt poświadczeń do -ProxyCredential:

$proxyAccount = Get-Credential
Invoke-WebRequest -Uri https://example.com/ -Proxy http://proxy.example:8080 -ProxyCredential $proxyAccount

Zastąp punkt końcowy zatwierdzoną usługą. Get-Credential pyta o konto, zamiast osadzać hasło w wierszu polecenia. To konto trafia do pośrednika; poświadczenia miejsca docelowego to osobny parametr i nie mogą odpowiedzieć na 407 serwera proxy.

Jeśli schemat uwierzytelniania serwera proxy i tożsamość procesu obsługują uwierzytelnianie zintegrowane, wybierz -ProxyUseDefaultCredentials. Nie łącz go z jawnymi poświadczeniami serwera proxy w tym samym żądaniu.

Sprawdź dokumentację wersji programu PowerShell, która uruchamia skrypt. Windows PowerShell i nowoczesny PowerShell różnią się implementacją i dostępnością parametrów; obsługiwane wersje udostępniają także -NoProxy dla jawnego żądania bezpośredniego.

Gdy ten sam skrypt zachowuje się inaczej jako zadanie

Sprawdź odpowiednie wpisy $PSDefaultParameterValues i konfigurację serwera proxy obsługiwaną przez proces. Profil może przy starcie sesji dodać domyślne ustawienia serwera proxy dla konkretnego polecenia. Zaplanowane zadanie może pominąć ten profil i działać jako inna tożsamość, mimo że plik skryptu się nie zmienił.

Porównaj adres URL miejsca docelowego, wybrany punkt końcowy, wymaganą metodę serwera proxy, wersję programu PowerShell oraz poświadczenia jawne i domyślne, zasłaniając sekrety. Jeśli uwierzytelnianie serwera proxy się powiedzie, a miejsce docelowe zwróci 401, zbadaj logowanie do tego miejsca docelowego, zamiast przenosić hasło serwera proxy do parametru poświadczeń źródła.

Powiązane artykuły