3

我可以使用以下方法获取发布设置:

$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、用户名和密码?

4

2 回答 2

5

@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
于 2015-11-23T23:01:19.213 回答
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
于 2015-11-23T07:42:31.273 回答