使用 Powershell 获取 Azure WebApp 的 PublishProfile

Get PublishProfile for an Azure WebApp using Powershell

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

我们在Azure Portal上点击下面的link可以得到这个文件。

文件内容如下图所示。

有人可以帮我弄一下吗?

谢谢。

您可以使用 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

此 returns 一个 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"
  }
}

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

Get-AzureRMWebAppPublishingProfile -ResourceGroupName myRG -Name webAppName

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

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

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