使用Powershell为Azure WebApp获取PublishProfile

时间:2016-01-28 16:24:19

标签: powershell azure azure-web-sites azure-resource-manager

如何使用Powershell获取Azure WebApp的PublishProfile? 我不是在寻找Get-AzurePublishSettingsFile cmdlet。这给了我整个订阅的PublishSettings。 我只想为特定的Azure WebApp使用PublishSettings。

当我们在Azure门户上单击以下链接时,我们可以获取此文件。 enter image description here

文件内容如下所示。 enter image description here

有人可以帮我解决这个问题吗?

感谢。

3 个答案:

答案 0 :(得分:15)

实际上,我们有一个新的PowerShell命令:

Get-AzureRMWebAppPublishingProfile -ResourceGroupName myRG -Name webAppName

这将在一个命令中为您提供PublishProfile!

答案 1 :(得分:6)

您可以使用ResourceManager cmdlet获取站点的发布凭据,如下所示:

# List publishingcredentials
$resource = Invoke-AzureRmResourceAction -ResourceGroupName <Resource Group Name> -ResourceType Microsoft.Web/sites/config -ResourceName <Site Name>/publishingcredentials -Action list -ApiVersion 2015-08-01 -Force
$resource.Properties

这将返回一个JSON blob,其信息与发布配置文件相同:

{
  "id": "/subscriptions/subid/resourceGroups/rgname/providers/Microsoft.Web/sites/sitename/publishingcredentials/$sitename",
  "name": "sitename",
  "type": "Microsoft.Web/sites/publishingcredentials",
  "location": "West US",
  "tags": {
    "hidden-related:/subscriptions/subid/resourcegroups/adriang-test/providers/Microsoft.Web/serverfarms/serverfarmname": "empty"
  },
  "properties": {
    "name": null,
    "publishingUserName": "$sitename",
    "publishingPassword": "password",
    "metadata": null,
    "isDeleted": false,
    "scmUri": "https://$sitename:password@sitename.scm.azurewebsites.net"
  }
}

答案 2 :(得分:2)

此外,要获取特定于部署位置的发布配置文件,我们可以使用

Get-AzureRMWebAppSlotPublishingProfile -ResourceGroupName Default-Web-EastUS -Name propertiesdemo -OutputFile none -Slot dev