Açık bir proxy hesabı için -ProxyCredential parametresine bir kimlik bilgisi nesnesi geçirin:

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

Uç noktayı onaylanmış hizmetle değiştirin. Get-Credential, komut satırına parola gömmek yerine hesap sorar. Bu hesap aracıya gider; hedef kimlik bilgileri ayrı bir parametredir ve proxy'nin 407'sine yanıt veremez.

Proxy'nin kimlik doğrulama şeması ve işlem kimliği tümleşik kimlik doğrulamayı destekliyorsa bunun yerine -ProxyUseDefaultCredentials seçin. Aynı istekte açık proxy kimlik bilgisiyle birleştirmeyin.

Betiği çalıştıran PowerShell sürümünün başvurusunu kontrol edin. Windows PowerShell ile modern PowerShell uygulama ve parametre kullanılabilirliği bakımından farklıdır; desteklenen sürümler açık doğrudan istek için -NoProxy da sunar.

Aynı betik görev olarak farklı davrandığında

İlgili $PSDefaultParameterValues girdilerini ve işlemin desteklediği proxy yapılandırmasını inceleyin. Bir profil oturum başlangıcında komuta özgü proxy varsayılanlarını ekleyebilir. Zamanlanmış bir görev bu profili atlayıp başka bir kimlikle çalışabilir, betik dosyası değişmemiş olsa bile.

Hedef URL'yi, seçilen uç noktayı, gereken proxy yöntemini, PowerShell sürümünü ve açık ile varsayılan kimlik bilgilerini karşılaştırın, sırları gizli tutun. Proxy kimlik doğrulaması başarılı olur ve hedef 401 döndürürse proxy parolasını kaynak kimlik bilgisi parametresine taşımak yerine o hedefin oturum açmasını inceleyin.

İlgili makaleler