Invoke-WebRequest: PowerShell에서 프록시 자격 증명 제공
Invoke-WebRequest에는 프록시 자격 증명을 위한 별도 매개 변수가 있습니다. 대상의 자격 증명이나 브라우저의 성공적인 로그인이 이를 대신하지 않습니다.
명시적 프록시 계정의 경우 자격 증명 개체를 -ProxyCredential에 전달합니다.
$proxyAccount = Get-Credential
Invoke-WebRequest -Uri https://example.com/ -Proxy http://proxy.example:8080 -ProxyCredential $proxyAccount끝점을 승인된 서비스로 바꿉니다. Get-Credential는 명령줄에 암호를 포함하지 않고 계정을 묻습니다. 이 계정은 중개자에게 전달됩니다. 대상 자격 증명은 별도 매개 변수이며 프록시의 407에 응답할 수 없습니다.
프록시의 인증 체계와 프로세스 ID가 통합 인증을 지원하면 대신 -ProxyUseDefaultCredentials을 선택합니다. 같은 요청에서 명시적 프록시 자격 증명과 결합하지 마세요.
스크립트를 실행하는 PowerShell 버전의 참조를 확인합니다. Windows PowerShell과 최신 PowerShell은 구현과 매개 변수 가용성이 다릅니다. 지원되는 버전은 명시적 직접 요청을 위해 -NoProxy도 제공합니다.
같은 스크립트가 작업으로 실행될 때 다르게 동작하는 경우
관련 $PSDefaultParameterValues 항목과 프로세스가 지원하는 프록시 구성을 검사합니다. 프로필은 세션 시작 시 명령별 프록시 기본값을 추가할 수 있습니다. 예약된 작업은 스크립트 파일이 바뀌지 않았더라도 그 프로필을 건너뛰고 다른 ID로 실행될 수 있습니다.
대상 URL, 선택된 끝점, 필요한 프록시 메서드, PowerShell 버전, 명시적 자격 증명과 기본 자격 증명을 비교하고 비밀은 가립니다. 프록시 인증이 성공했는데 대상이 401을 반환하면 프록시 암호를 원본 자격 증명 매개 변수로 옮기지 말고 그 대상의 로그인을 조사합니다.