如何通过具有凭据的代理服务器运行Azure PowerShell CMDLET?
-
26-10-2019 - |
题
当我运行以下PowerShell CMDLET(来自Azure Management工具Snapin)时:
get-osversions -subscriptionId **** -certificate (get-item cert:\CurrentUser\MY\******)
我收到以下错误消息:
渗透性:远程服务器返回了意外的响应:(407)代理Authenti cation。在线:1个char:15 + get -observerions <<<< - subscriptionId * -certificate(get-item cert: currentuser my*****) + categoryInfo:CloseError :( :) [get-osversions],prococolexception + firl qualifiedErrid:microsoft.samples.azuremanagementtools.powershell.powershell.hosteds ervices.getoSversions.getoSversionscommandcommandcommandcommand
渗透:对象引用未设置为对象的实例。在线:1个char:15 + get -observerions <<<< - subscriptionId * -certificate(Get-Item Cert: Currentuser My ***) + categoryInfo:CloseError:(:) [get-osversions],nullReferenceException + firl qualifiedErrid:microsoft.samples.azuremanagementtools.powershell.hosteds ervices.getOsversions.getoSversionsCommandcommand
似乎这里的Internet代理服务器拒绝脚本所需的访问。
我在Internet上进行了很好的环境,似乎没有简单的方法解决此问题,因为此CMDLET没有有效的“ credentials”或代理服务器参数。
我知道有一个“ get-Credential” cmdlet,但我认为这无济于事。您将如何将凭证传递给Azure CMDLET?
谁能想到解决这个问题的任何方法?
...除了使用不同的非预防互联网连接吗?
我很难过。
非常感谢您的时间。
解决方案
我认识的一些客户成功使用了此处概述的方法(支持基本验证代理)。如果您需要其他代理类型,则遵循相同的模式。这样做的好处是,它不需要更改CMDLET。
其他提示
更轻松:
[System.Net.WebRequest]::DefaultWebProxy.Credentials = [System.Net.CredentialCache]::DefaultCredentials