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 ของพร็อกซีได้
หากสคีมาการรับรองความถูกต้องของพร็อกซีและตัวตนของโปรเซสสนับสนุนการรับรองความถูกต้องแบบรวมศูนย์ ให้เลือก -ProxyUseDefaultCredentials แทน อย่ารวมกับข้อมูลรับรองพร็อกซีแบบชัดเจนในคำขอเดียวกัน
ตรวจสอบเอกสารอ้างอิงสำหรับเวอร์ชัน PowerShell ที่รันสคริปต์ Windows PowerShell และ PowerShell สมัยใหม่ต่างกันในการนำไปใช้และความพร้อมใช้งานของพารามิเตอร์ เวอร์ชันที่รองรับยังมี -NoProxy สำหรับคำขอโดยตรงแบบชัดเจน
เมื่อสคริปต์เดียวกันทำงานต่างกันในฐานะงาน
ตรวจสอบรายการ $PSDefaultParameterValues ที่เกี่ยวข้องและการกำหนดค่าพร็อกซีที่โปรเซสสนับสนุน โปรไฟล์สามารถเพิ่ม ค่าเริ่มต้นพร็อกซีเฉพาะคำสั่ง เมื่อเริ่มเซสชัน งานที่ตั้งเวลาไว้สามารถข้ามโปรไฟล์นั้นและทำงานภายใต้ตัวตนอื่น แม้ไฟล์สคริปต์จะไม่เปลี่ยน
เปรียบเทียบ URL ปลายทาง ปลายทางที่เลือก วิธีพร็อกซีที่จำเป็น เวอร์ชัน PowerShell และข้อมูลรับรองแบบชัดเจนเทียบกับค่าเริ่มต้น โดยปกปิดความลับไว้ หากการรับรองความถูกต้องของพร็อกซีสำเร็จและปลายทางตอบกลับ 401 ให้ตรวจสอบการลงชื่อเข้าใช้ของปลายทางนั้นแทนการย้ายรหัสผ่านพร็อกซีไปยังพารามิเตอร์ข้อมูลรับรองต้นทาง