PowerShell Invoke-RestMethod: обійти проксі для одного запиту
Використовуйте NoProxy у PowerShell 7 або явно порожній проксі сеансу в Windows PowerShell 5.1.
У PowerShell 7 використовуйте явний перемикач веб-cmdlet для запиту, який має йти напряму:
Invoke-RestMethod -Uri 'https://example.com/' -NoProxy
NoProxy було додано в PowerShell 6.0, і його не можна поєднувати з Proxy. Windows PowerShell 5.1 не надає цей перемикач.
Для запиту в 5.1 надайте веб-сеанс із порожнім WebProxy:
$session = New-Object Microsoft.PowerShell.Commands.WebRequestSession
$session.Proxy = New-Object System.Net.WebProxy
Invoke-RestMethod -Uri 'https://example.com/' -WebSession $session
WebProxy без параметрів не має адреси проксі та обходить призначення. Зберігайте цей сеанс для запитів, які мають використовувати цю пряму політику; інший сеанс може зберегти інший маршрут.
Перевірте версію процесу за допомогою $PSVersionTable.PSVersion перед вибором форми. Ці приклади залишають налаштування проксі операційної системи без змін.
Пряма маршрутизація все ще вимагає, щоб призначення було доступним із машини. У мережі, де доступ до інтернету дозволено лише через корпоративного посередника, його обхід може слушно спричинити помилку з'єднання.