دفتری سیشن کے لیے PowerShell ویب cmdlet پراکسی ڈیفالٹس
PSDefaultParameterValues میں کمانڈ کے مخصوص Proxy ڈیفالٹس شامل کریں، غیر متعلقہ ڈیفالٹس محفوظ رکھیں اور ماحول بدلتے وقت اندراجات ہٹا دیں۔
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 اب بھی اپنی معاون سسٹم یا ماحول کنفیگریشن استعمال کر سکتا ہے؛ ڈیفالٹ ہٹانا واضح طور پر براہ راست کنکشن کی درخواست نہیں کرتا۔