【问题标题】:Set-AzureSubscription : Cannot bind parameter 'Certificate' becuase of illegal characters errorSet-Azure 订阅:由于非法字符错误,无法绑定参数“证书”
【发布时间】:2015-03-06 15:06:03
【问题描述】:

我正在使用 Azure Powershell 在 Windows 2012 server R2 上运行此命令

我正在使用以下代码来设置 azure 订阅

C:\PS>$subID = <Subscription ID>
C:\PS>$thumbprint = <Certificate Thumbprint> 

获取证书指纹包含使用

C:\PS>$myCert = Get-Item cert:\\CurrentUser\My\$thumbprint | Out-String
C:\PS>Set-AzureSubscription –SubscriptionName $subID –SubscriptionId $subID –Certificate `"$myCert`"

但它失败并出现以下错误

Set-AzureSubscription : Cannot bind parameter 'Certificate'. Error: can't convert illegal characters 

我也试过下面的代码

C:\PS>$myCert = Get-Item cert:\\CurrentUser\My\$thumbprint
C:\PS>Set-AzureSubscription –SubscriptionName $subID –SubscriptionId $subID –Certificate $myCert

仍然失败并出现错误无法绑定参数“证书”

提前致谢

【问题讨论】:

  • 我刚刚尝试了您问题中的最后两行代码,它对我来说效果很好。如果我执行以下$myCert = Get-Item cert:\\CurrentUser\My\$thumbprint | Out-String,那么我会得到与你得到的相同的错误。你能再试一次吗?
  • 我又试了一次,但失败并出现以下错误 Set-AzureSubscription :无法绑定参数“证书”。无法将值“”目录:Microsoft.PowerShell.Security\Certificate::CurrentUser\My Thumbprint Subject ---------- ------- A4DF95BE6410E68E360E9706316F6EF542172796 CN=AmarCert“”转换为键入“System.Security .Cryptography.X509Certificates.X509Certificate2"。错误:“路径中有非法字符。”

标签: powershell azure azure-storage


【解决方案1】:

您应该停止使用 Azure PowerShell 身份验证证书并开始使用 AAD。这适用于 PowerShell 的 Azure 服务管理和 Azure 资源管理器模式。

添加-AzureAccount 选择-AzureSubscription ... Set-AzureSubscription ...

你就完成了 - 再也不用担心证书了。

【讨论】:

    【解决方案2】:

    你应该使用:

    Get-Item Cert:\CurrentUser\
    

    (即不是 cert:\\CurrentUser\ 带有两个反斜杠)

    【讨论】:

      猜你喜欢
      • 2014-12-02
      • 2021-05-20
      • 2022-07-16
      • 2021-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-11
      相关资源
      最近更新 更多