Для явной учётной записи прокси передайте объект учётных данных в -ProxyCredential:

$proxyAccount = Get-Credential
Invoke-WebRequest -Uri https://example.com/ -Proxy http://proxy.example:8080 -ProxyCredential $proxyAccount

Замените конечную точку одобренной службой. Get-Credential запрашивает учётную запись, а не встраивает пароль в командную строку. Эта учётная запись передаётся посреднику; учётные данные назначения — отдельный параметр, и они не могут ответить на 407 от прокси.

Если схема аутентификации прокси и идентичность процесса поддерживают встроенную проверку подлинности, выберите -ProxyUseDefaultCredentials. Не комбинируйте его с явными учётными данными прокси в одном запросе.

Проверьте справочник по версии PowerShell, в которой выполняется сценарий. Windows PowerShell и современный PowerShell различаются реализацией и доступностью параметров; поддерживаемые версии также предоставляют -NoProxy для явного прямого запроса.

Когда один и тот же сценарий ведёт себя иначе как задача

Проверьте соответствующие записи $PSDefaultParameterValues и поддерживаемую процессом конфигурацию прокси. Профиль может при запуске сеанса добавить прокси-значения по умолчанию для конкретной команды. Запланированная задача может пропустить этот профиль и работать от другого имени, даже если файл сценария не изменён.

Сравните URL назначения, выбранную конечную точку, требуемый метод прокси, версию PowerShell и явные либо значения по умолчанию, скрывая секреты. Если проверка подлинности прокси прошла, а назначение вернуло 401, исследуйте вход на это назначение, а не переносите пароль прокси в параметр учётных данных источника.

Похожие статьи