ตั้งแต่ PowerShell 3.0 เป็นต้นมา PSDefaultParameterValues สามารถให้ค่าเริ่มต้นพร็อกซีสำหรับการเรียกเว็บที่ทำซ้ำได้:

$PSDefaultParameterValues['Invoke-WebRequest:Proxy'] = 'http://proxy.example:8080'
$PSDefaultParameterValues['Invoke-RestMethod:Proxy'] = 'http://proxy.example:8080'

การกำหนดเหล่านี้รักษาค่าเริ่มต้นที่ไม่เกี่ยวข้องไว้ในพจนานุกรม พารามิเตอร์ Proxy ที่ระบุชัดเจนจะแทนที่ค่าเริ่มต้นที่สอดคล้องกัน ให้คงคีย์ให้เฉพาะเจาะจงคำสั่งแทนที่จะจับคู่พารามิเตอร์ชื่อคล้ายกันทั้งหมดด้วย wildcard สำหรับเซสชันเว็บไซต์สาธารณะแยกต่างหากที่อนุญาตตัวกลางสาธารณะ ให้เลือกผู้สมัครจากรายการพร็อกซี HTTPเฉพาะเมื่อไม่ได้ตั้งค่าเริ่มต้น ProxyCredential หรือ ProxyUseDefaultCredentials และไม่มีข้อมูลรับรองพร็อกซีที่ระบุชัดเจน

หากพร็อกซีใช้ตัวตน Windows ปัจจุบัน ให้เพิ่มค่าเริ่มต้นที่สอดคล้องกัน:

$PSDefaultParameterValues['Invoke-WebRequest:ProxyUseDefaultCredentials'] = $true
$PSDefaultParameterValues['Invoke-RestMethod:ProxyUseDefaultCredentials'] = $true

วางรายการที่เลือกไว้ใน profile ที่เหมาะสมเมื่อเซสชันโต้ตอบในอนาคตควรได้รับ สำหรับเครือข่ายอื่น ให้แทนที่ค่าหรือลบรายการที่เป็นของคอนฟิกูเรชันนี้:

$PSDefaultParameterValues.Remove('Invoke-WebRequest:Proxy')
$PSDefaultParameterValues.Remove('Invoke-RestMethod:Proxy')
$PSDefaultParameterValues.Remove('Invoke-WebRequest:ProxyUseDefaultCredentials')
$PSDefaultParameterValues.Remove('Invoke-RestMethod:ProxyUseDefaultCredentials')

การลบจะคืนค่าการเลือกพารามิเตอร์ตามปกติ cmdlet อาจยังใช้การกำหนดค่าระบบหรือสภาพแวดล้อมที่รองรับ การลบค่าเริ่มต้นไม่ได้ร้องขอการเชื่อมต่อโดยตรงอย่างชัดเจน

บทความที่เกี่ยวข้อง