بدءًا من 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 يستخدم تكوين النظام أو البيئة المدعوم؛ وإزالة إعداد افتراضي لا تطلب صراحة اتصالًا مباشرًا.

مقالات ذات صلة