【问题标题】:AzureRm Add-AzureCertificate equivalent in AzAz 中的 AzureRm Add-AzureCertificate 等效项
【发布时间】:2020-06-25 22:32:35
【问题描述】:

在今年晚些时候弃用 AzureRM powershell cmdlet 之前,我正在更新我们的一些基础架构脚本以使用 Az powershell cmdlet 而不是 AzureRM。

我们的一个脚本使用 Add-AzureCertificate 将 SSL 证书上传到 Azure Cloud Service(Classic) 资源:

Add-AzCertificate -ServiceName $serviceName -CertToDeploy $certObject

其中$certObjectX509Certificate2 对象。

Az 模块中的等效 cmdlet 是什么? Add-AzCertificate 不存在。

在详细说明 configuring SSLCloud Service 文档页面上,仅显示通过 Azure 门户上传的证书。

【问题讨论】:

  • 尝试在 Powershell 中运行Get-Command -Name Add-Az*Certificate -Module Az.*,看看有哪些模块可用?
  • 这也是用于 Azure Web 应用的 SSL 绑定吗?如果是这样,您可以使用New-AzWebAppSSLBinding,它可以将.pfx 证书作为输入。我用Get-Command -Name *SSL* -Module Az.*找到了这个。
  • @RoadRunner 这是关于 Azure 云服务的,我认为新的 Azure Powershell Cmdlet 不支持它(考虑到有这么多组织仍在使用云服务,这很遗憾)。跨度>
  • 远景思路:调用 Enable-AzureRmAlias 并尝试调用旧 Cmdlet - 如果它在没有“旧”powershell 模块的情况下工作,你知道它应该存在
  • 不幸的是,在Enable-AzureRmAlias 之后,Add-AzureCertificate 似乎被破坏了,抛出了一个System.PlatformNotSupportedException:ComputeManagementClient 在其HTTP 管道中需要一个WebRequestHandler 来处理客户端证书。我一直找不到有关此错误或如何使事情正常工作的任何信息。

标签: azure azure-cloud-services azure-rm az


【解决方案1】:

正如@Alex AIT 的评论,在调用 AzureRM 命令之前,您可以运行Enable-AzureRmAlias cmdlet,它通过别名启用兼容模式,以允许您在使用现有脚本的同时进行最少的修改,同时努力全面迁移到 Az。更多信息,您可以参考Migrate existing scripts to Az

另外,要调用 Azure 云服务(经典)资源,您仍然需要 Azure 模块。查看此示例-Az / AzureRM / Legacy Azure Powershell Conflicts

【讨论】:

  • 感谢您的建议;不幸的是,这似乎仍然被打破。 Add-AzureCertificate 抛出 System.PlatformNotSupportedException:ComputeManagementClient 需要在其 HTTP 管道中使用 WebRequestHandler 才能使用客户端证书。到目前为止,我无法找到有关此错误或如何使事情正常工作的任何信息。
  • 不确定,你能试试here的3个例子吗?有同样的错误吗?或者试试New-AzureRmWebAppSSLBindingstackoverflow.com/questions/23066463/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-21
相关资源
最近更新 更多