Powershell игнорирует учетные данные прокси-сервера?

#powershell #api #rest #proxy

#powershell #API #rest #прокси

Вопрос:

Я пытаюсь использовать «Invoke-RestMethod» в Powershell 4.0.

У пользователя, выполняющего скрипт, нет разрешения на аутентификацию на прокси-сервере, поэтому я хочу вручную установить другие учетные данные и не могу использовать «DefaultNetworkCredentials».

Однако, похоже, что Powershell игнорирует все настройки, которые я делаю. Я всегда получаю 407 в качестве ответа.

Удаленный сервер вернул сообщение об ошибке: (407) Требуется проверка подлинности прокси-сервера.

Прокси-сервер поддерживает Kerberos, NTLM и базовую аутентификацию. Я пробовал разные форматы для имени пользователя, но безуспешно. Настройка прокси-сервера работает в других приложениях с той же конфигурацией.

Любая помощь приветствуется.

 $proxy = "http://proxyaddress.domain:8080"
$pass = ConvertTo-SecureString "<password>" -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential -ArgumentList "user@domain", $pass
Invoke-RestMethod -Uri 'https://.../' -Headers @{"Cache-Control"="no-cache"} -Proxy $proxy -ProxyCredential $cred
  

(На сервере нет прокси-сервера, и он должен быть настроен только для указанного скрипта.)

РЕДАКТИРОВАТЬ: документация Microsoft кажется очень запутанной. Переключатель -Proxy отображается как функция при просмотре документа для версии 4.0. Однако, просматривая документацию Powershell 7.0, в ней указано, что «Эта функция была добавлена в PowerShell 6.0.0».

Так что это определенно не будет работать таким образом. Вместо этого я попытался использовать прокси System.Net.WebClient, но также безуспешно. Исходный код отлично работает в Powershell 6.0.

Комментарии:

1. Установите его для запуска как запланированную вручную задачу с необходимыми вам учетными данными, предоставьте пользователю простой скрипт для запуска этой задачи.

2. У пользователя прокси-сервера практически нет других разрешений, кроме разрешений прокси-сервера, поэтому ему не разрешено запускать задачи или другие операции в самом скрипте. Я только что обновил сообщение, поскольку, похоже, в документации для PS 4.0 есть ошибка