如何通过具有凭据的代理服务器运行Azure PowerShell cmdlet?

时间:2011-07-25 15:42:21

标签: powershell azure credentials proxy-server http-status-code-407

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

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

我收到以下错误消息:

  

Get-OSVersions:远程服务器返回了意外响应:(407)Proxy Authenti   阳离子必需。   在行: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:对象引用未设置为对象的实例。   在行:1 char:15   + get-osversions<<<< -subscriptionId * -certificate    (get-item证书:\ CurrentUser \ MY ** * )       + CategoryInfo:CloseError:(:) [Get-OSVersions],NullReferenceException       + FullyQualifiedErrorId:Microsoft.Samples.AzureManagementTools.PowerShell.HostedS      ervices.GetOSVersionsCommand

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

我在互联网上好好看看,似乎没有简单的解决方法,因为这个cmdlet没有有效的“-credentials”或代理服务器参数。

我知道有一个'Get-Credential'cmdlet,但我觉得它没有用。您如何将凭证传递给Azure cmdlet?

任何人都可以想办法解决这个问题吗?..

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

我很难过。

很多,谢谢你的时间。

2 个答案:

答案 0 :(得分:16)

更容易:

[System.Net.WebRequest]::DefaultWebProxy.Credentials = [System.Net.CredentialCache]::DefaultCredentials

答案 1 :(得分:1)

我认识的一些客户成功使用了此处列出的方法(Supporting Basic Auth proxies)。如果您需要其他代理类型,则它遵循相同的模式。关于这一点的好处是它不需要更改cmdlet。