Как выполнить командлет Azure powershell через прокси-сервер с учетными данными?
Когда я запускаю следующий командлет Powershell (из оснастки "Инструменты управления Azure"):
get-osversions -subscriptionId **** -certificate (get-item cert:\CurrentUser\MY\******)
Я получаю следующее сообщение об ошибке:
Get-OSVersions: удаленный сервер возвратил неожиданный ответ: (407) Требуется аутентификация прокси. В строке:1 символ:15 + get-osversions <<<< -subscriptionId * -certificate (сертификат get-item: \ CurrentUser \ MY * ****) + CategoryInfo: CloseError: (:) [Get-OSVersions], ProtocolException + FullyQualifiedErrorId: Microsoft.Samples.AzureManagementTools.PowerShell.HostedS ervices.GetOSVersionsCommand
Get-OSVersions: ссылка на объект не установлена для экземпляра объекта. В строке:1 символ:15 + get-osversions <<<< -subscriptionId * -certificate (сертификат get-item: \ CurrentUser \ MY ** *) + CategoryInfo: CloseError: (:) [Get-OSVersions], NullReferenceException + FullyQualifiedErrorId: Microsoft.Samples.AzureManagementTools.PowerShell.HostedS ervices.GetOSVersionsCommand
Похоже, что прокси-сервер в интернете отказывает скрипту в доступе, который ему требуется.
Я хорошо осмотрелся в Интернете, и кажется, что нет простого способа обойти эту проблему, так как этот командлет не имеет допустимого параметра -credentials или прокси-сервера.
Я знаю, что есть командлет Get-Credential, но я не думаю, что это помогает. Как бы вы передали учетные данные командлету Azure?
Кто-нибудь может придумать способ обойти эту проблему?..
... кроме использования другого непрокси-соединения с интернетом?
Я в тупике.
Большое спасибо за ваше время.
2 ответа
Несколько клиентов, которых я знаю, были успешными, используя метод, описанный здесь ( Поддержка прокси Basic Auth). Если вам нужны другие типы прокси, то вы должны следовать той же схеме. Приятно то, что это не требует смены командлетов.
Полегче:
[System.Net.WebRequest]::DefaultWebProxy.Credentials = [System.Net.CredentialCache]::DefaultCredentials