Powershell 错误:无法获取Azure订阅ID和指纹。在New-AzureSql.ps1中的新FirewallRuleForWebsite中失败

Powershell 错误:无法获取Azure订阅ID和指纹。在New-AzureSql.ps1中的新FirewallRuleForWebsite中失败,powershell,azure,Powershell,Azure,我正在阅读电子书“使用Microsoft Azure构建云应用程序”,当我运行New-AzureWebsiteEnv.ps1时,我发现以下错误 错误:无法获取Azure订阅ID和指纹。在New-AzureSql.ps1中的新FirewallRuleForWebsite中失败 我已经尝试在New-AzureSql.ps1和New-AzureWebsiteEnv.ps1中添加-ExtendedDetails到获取AzureSubscription,如中所建议 我正在使用Azure PowerShel

我正在阅读电子书“使用Microsoft Azure构建云应用程序”,当我运行New-AzureWebsiteEnv.ps1时,我发现以下错误

错误:无法获取Azure订阅ID和指纹。在New-AzureSql.ps1中的新FirewallRuleForWebsite中失败

我已经尝试在New-AzureSql.ps1和New-AzureWebsiteEnv.ps1中添加
-ExtendedDetails
获取AzureSubscription
,如中所建议


我正在使用Azure PowerShell 0.8.16和Windows 7 Service Pack 1。

这可以通过调用
删除AzureSubscription
然后重新运行
导入AzurePublishSettings文件
来修复,方法是调用
删除AzureSubscription
然后重新运行
导入AzurePublishSettingsFile
@ScottBrown是正确的,但对于那些不想删除订阅的用户(在我看来有点过激),我遵循以下步骤来解决这个恼人的问题:

  • 删除C:\Users{your user}\AppData\Roaming\Windows Azure Powershell中的文件
  • 重新启动powershell
  • 登录门户网站
  • >获取AzurePublishSettingsFile(查看文件以确认该文件具有证书数据)
  • >导入AzurePublishSettingsFile{设置文件的路径}/{filename}.publishsettings
  • 运行新的AzureWebsiteEnv.ps1脚本

  • @ScottBrown是对的,但对于那些不想删除订阅(在我看来有点过激)的人,我遵循以下步骤来解决这个恼人的问题:

  • 删除C:\Users{your user}\AppData\Roaming\Windows Azure Powershell中的文件
  • 重新启动powershell
  • 登录门户网站
  • >获取AzurePublishSettingsFile(查看文件以确认该文件具有证书数据)
  • >导入AzurePublishSettingsFile{设置文件的路径}/{filename}.publishsettings
  • 运行新的AzureWebsiteEnv.ps1脚本
  • 这表明
    新AzureWebsiteEnv.ps1
    新AzureSql.ps1
    脚本中都存在遗漏

    更改
    $s=Get AzureSubscription–当前


    $s=Get AzureSubscription-Current–ExtendedDetails

    这声称在
    新AzureWebsiteEnv.ps1
    新AzureSql.ps1
    脚本中都存在遗漏

    更改
    $s=Get AzureSubscription–当前



    $s=Get AzureSubscription-Current–ExtendedDetails

    这个问题困扰了我半天,但我最终通过以下步骤解决了它

    注意:开始之前,请确保按照上面的@ScottBrown说明进行操作,并在New-AzureSql.ps1和New-AzureWebsiteEnv.ps1中替换获取AzureSubscription-Current的所有引用,以获取AzureSubscription-Current-ExtendedDetails

  • 首先,在Azure Powershell中,如果您使用“添加帐户”,这将不起作用。事实上,这可能是这个问题的主要根源。首先启动certmrg.msi(证书管理器),导航到证书-当前用户->个人->证书,然后删除所有Azure相关证书

  • 接下来,您必须删除所有导入的azure配置文件。导航到c:\Users[user]\AppData\Roaming\Windows Azure Powershell并删除此文件夹中的所有文件。然后关闭powershell控制台并重新启动(具有管理权限)

  • 现在您可以正确导入Azure配置文件。在Azure Powershell中,运行>获取AzurePublishSettings文件并将publishsettings文件保存到特定位置

  • 使用以下命令导入Azure发布设置文件: 导入AzurePublishSettingsFile–PublishSettingsFile“C:\FolderMemory\SubScriptionName日期凭据。publishsettings”。如果成功,控制台将列出当前订阅的ID和名称

  • 使用以下命令选择默认订阅:选择AzureSubscription-SubscriptionName“[subscription name]”

  • 现在,您可以运行以下命令以确保已在powershell中正确设置订阅:Get-AzureSubscription-Current-ExtendedDetails

  • 好好看看结果。如果证书字段不为空(即具有主题、颁发者、序列号等),则可以运行脚本

    如果没有,那么你一定错过了一步。查看以下链接中的评论以获取更多指导:


    这个问题困扰了我半天,但我最终通过以下步骤解决了它

    注意:开始之前,请确保按照上面的@ScottBrown说明进行操作,并在New-AzureSql.ps1和New-AzureWebsiteEnv.ps1中替换获取AzureSubscription-Current的所有引用,以获取AzureSubscription-Current-ExtendedDetails

  • 首先,在Azure Powershell中,如果您使用“添加帐户”,这将不起作用。事实上,这可能是这个问题的主要根源。首先启动certmrg.msi(证书管理器),导航到证书-当前用户->个人->证书,然后删除所有Azure相关证书

  • 接下来,您必须删除所有导入的azure配置文件。导航到c:\Users[user]\AppData\Roaming\Windows Azure Powershell并删除此文件夹中的所有文件。然后关闭powershell控制台并重新启动(具有管理权限)

  • 现在您可以正确导入Azure配置文件。在Azure Powershell中,运行>获取AzurePublishSettings文件并将publishsettings文件保存到特定位置

  • 使用以下命令导入Azure发布设置文件: 导入AzurePublishSettingsFile–PublishSettingsFile“C:\FolderMemory\SubScriptionName日期凭据。publishsettings”。如果成功,控制台将列出当前订阅的ID和名称

  • 选择你的d