6

当我运行以下 Powershell cmdlet(来自 Azure 管理工具管理单元)时:

get-osversions -subscriptionId **** -certificate (get-item cert:\CurrentUser\MY\******)

我收到以下错误消息:

Get-OSVersions :远程服务器返回意外响应:(407) 需要代理身份验证。在 line:1 char:15 + get-osversions <<<< -subscriptionId *-certificate (get-item cert:\CurrentUser\MY* ****) + CategoryInfo : CloseError: (:) [Get-OSVersions], ProtocolException + FullyQualifiedErrorId : Microsoft.Samples.AzureManagementTools.PowerShell.HostedS ervices.GetOSVersionsCommand

Get-OSVersions :对象引用未设置为对象的实例。在 line:1 char:15 + get-osversions <<<< -subscriptionId * -certificate (get-item cert:\CurrentUser\MY** * ) + CategoryInfo : CloseError: (:) [Get-OSVersions], NullReferenceException + fullyQualifiedErrorId:Microsoft.Samples.AzureManagementTools.PowerShell.HostedS ervices.GetOSVersionsCommand

似乎这里的互联网代理服务器拒绝了脚本所需的访问权限。

我在 Internet 上浏览了一下,似乎没有简单的方法可以解决这个问题,因为这个 cmdlet 没有有效的“-credentials”或代理服务器参数。

我知道有一个“获取凭据”cmdlet,但我认为它没有帮助。如何将凭据传递给 Azure cmdlet?

谁能想到解决这个问题的任何方法?...

...除了使用不同的非代理互联网连接?

我难住了。

非常感谢您的时间。

4

2 回答 2

18

更轻松:

[System.Net.WebRequest]::DefaultWebProxy.Credentials = [System.Net.CredentialCache]::DefaultCredentials
于 2013-02-13T16:50:33.493 回答
1

我认识的一些客户使用此处概述的方法(支持基本身份验证代理)取得了成功。如果您需要其他代理类型,它遵循相同的模式。这样做的好处是它不需要更改 cmdlet。

于 2011-07-25T17:17:20.983 回答