【问题标题】:Azure Resource Manager - Get publish username and password of an AzureWebAppAzure 资源管理器 - 获取 AzureWebApp 的发布用户名和密码
【发布时间】:2015-11-22 20:32:08
【问题描述】:
我可以使用以下方法获取发布设置:
$website = Get-AzureWebSite -Name $webSiteName
$websitePreProd = ($website | ?{ $_.Name -like "*Preprod)" })
$siteProperties = $websitePreProd.SiteProperties.Properties
$url = ($siteProperties | ?{ $_.Name -eq "RepositoryURI" }).Value.ToString() + "/MsDeploy.axd"
$userName = ($siteProperties | ?{ $_.Name -eq "PublishingUsername" }).Value
$pw = ($siteProperties | ?{ $_.Name -eq "PublishingPassword" }).Value
但理想情况下,我想通过以下方式使用 ARM:
$existingSlot = Get-AzureWebApp -Name $websiteName -ResourceGroupName $resourcegroup -Slot "PreProd" -ErrorAction SilentlyContinue
如何使用 ARM 获取 URL、用户名和密码?
【问题讨论】:
标签:
azure
azure-web-app-service
azure-resource-manager
【解决方案1】:
@juvchan 的回答会奏效。这里有一个完整的替代方案:
$res = Invoke-AzureRmResourceAction -ResourceGroupName <RG name> -ResourceType Microsoft.Web/sites/config -ResourceName <sitename>/publishingcredentials -Action list -ApiVersion 2015-08-01 -Force
$userName = $res.Properties.PublishingUserName
$pwd = $res.Properties.PublishingPassword
【解决方案2】:
您可以尝试下面的简单脚本来解决您的问题。
我假设您正在尝试获取 MS-Deploy 发布配置文件。
注意:您应该安装最新的 Azure PowerShell 才能使用新的 Azure RM 命令。
$webAppSlot = Get-AzureRMWebAppSlot -ResourceGroupName <Res-Grp-Name> -Name <webAppName> -Slot <slotName>
$pp = Get-AzureRMWebAppSlotPublishingProfile -WebApp $webAppSlot -OutputFile <OutputFileFullPathName>
[xml]$ppXml = Get-Content <OutputFileFullPathName>
# MSDeploy Publish Profile
$publishUrl = $ppXml.publishData.FirstChild.publishUrl
$userName = $ppXml.publishData.FirstChild.userName
$userPWD = $ppXml.publishData.FirstChild.userPWD