当我运行以下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?
任何人都可以想办法解决这个问题吗?..
...除了使用不同的非代理互联网连接?
我很难过。
很多,谢谢你的时间。答案 0 :(得分:16)
更容易:
[System.Net.WebRequest]::DefaultWebProxy.Credentials = [System.Net.CredentialCache]::DefaultCredentials
答案 1 :(得分:1)
我认识的一些客户成功使用了此处列出的方法(Supporting Basic Auth proxies)。如果您需要其他代理类型,则它遵循相同的模式。关于这一点的好处是它不需要更改cmdlet。