Powershell 中的 Set-AzureRmWebApp 更改未出现在 Azure 门户中
Set-AzureRmWebApp changes in Powershell not appearing in Azure Portal
我正在尝试通过 Powershell 将虚拟应用程序添加到 Azure 网站。虽然脚本 运行 没有错误,但我的更改没有出现在 portal.azure.com 中。最后是否需要另一个命令 运行 来保持更改?
$subscriptionId = "secret"
$websiteName = "MyWebsite"
$resourceGroupName = "MyResourceGroup"
$siteName = "Test"
Get-Module AzureRM
Login-AzureRmAccount
Select-AzureRmSubscription -SubscriptionId $subscriptionId
$website = Get-AzureRmWebApp -Name $websiteName -ResourceGroupName $resourceGroupName
$VDApp = New-Object Microsoft.Azure.Management.WebSites.Models.VirtualApplication
$VDApp.VirtualPath = "/$siteName"
$VDApp.PhysicalPath = "site$siteName"
$VDApp.PreloadEnabled ="YES"
$website.siteconfig.VirtualApplications.Add($VDApp)
$website | Set-AzureRmWebApp -ResourceGroupName $resourceGroupName
尝试使用以下命令添加虚拟应用程序。
$resourceGroupName = ""
$websiteName = ""
$WebAppApiVersion = "2015-08-01"
# Example call: SetWebAppConfig MyResourceGroup MySite $ConfigObject
Function SetWebAppConfig($ResourceGroupName, $websiteName, $ConfigObject)
{
Set-AzureRmResource -ResourceGroupName $ResourceGroupName -ResourceType Microsoft.Web/sites/Config -Name $websiteName/web -PropertyObject $ConfigObject -ApiVersion $WebAppApiVersion -Force
}
Write-Host "Set a virtual application"
$props=@{
virtualApplications = @(
@{ virtualPath = "/"; physicalPath = "site\wwwroot" },
@{ virtualPath = "/bar"; physicalPath = "site\wwwroot" }
)
}
SetWebAppConfig $ResourceGroupName $websiteName $props
我在我的实验室测试过,它对我有用。
以 Walter 的回答为基础,成功了。要将新的虚拟应用程序附加到现有应用程序,运行 此代码:
# Example call: SetWebAppConfig MyResourceGroup MySite $ConfigObject
# https://github.com/davidebbo/AzureWebsitesSamples/blob/b2a3d67a90b7b2d673d68dab553f82e015333d10/PowerShell/HelperFunctions.ps1#L84-L87
Function SetWebAppConfig($ResourceGroupName, $SiteName, $ConfigObject)
{
$WebAppApiVersion = "2015-08-01"
Set-AzureRmResource -ResourceGroupName $ResourceGroupName -ResourceType Microsoft.Web/sites/Config -Name $SiteName/web -PropertyObject $ConfigObject -ApiVersion $WebAppApiVersion -Force
}
Login-AzureRmAccount
Select-AzureRmSubscription -SubscriptionId $subscriptionId
$website = Get-AzureRmWebApp -ResourceGroupName $resourceGroupName -Name $websiteName
$virtualApplications = $website.SiteConfig.VirtualApplications
$hash = New-Object System.Collections.ArrayList
for ($j = 0; $j -lt $virtualApplications.count; $j++) {
$entry = @{ virtualPath = $virtualApplications[$j].VirtualPath; physicalPath = $virtualApplications[$j].PhysicalPath }
$hash.add($entry)
}
$newEntry = @{ virtualPath = "/$siteName"; physicalPath = "site$siteName" }
$hash.add($newEntry)
$hashProps.VirtualApplications
$virtualApps = $website.SiteConfig.VirtualApplications.Add(@{ virtualPath = "/$siteName"; physicalPath = "site$siteName" })
$props=@{
virtualApplications = $hash.ToArray()
}
SetWebAppConfig $resourceGroupName $websiteName $props
我正在尝试通过 Powershell 将虚拟应用程序添加到 Azure 网站。虽然脚本 运行 没有错误,但我的更改没有出现在 portal.azure.com 中。最后是否需要另一个命令 运行 来保持更改?
$subscriptionId = "secret"
$websiteName = "MyWebsite"
$resourceGroupName = "MyResourceGroup"
$siteName = "Test"
Get-Module AzureRM
Login-AzureRmAccount
Select-AzureRmSubscription -SubscriptionId $subscriptionId
$website = Get-AzureRmWebApp -Name $websiteName -ResourceGroupName $resourceGroupName
$VDApp = New-Object Microsoft.Azure.Management.WebSites.Models.VirtualApplication
$VDApp.VirtualPath = "/$siteName"
$VDApp.PhysicalPath = "site$siteName"
$VDApp.PreloadEnabled ="YES"
$website.siteconfig.VirtualApplications.Add($VDApp)
$website | Set-AzureRmWebApp -ResourceGroupName $resourceGroupName
尝试使用以下命令添加虚拟应用程序。
$resourceGroupName = ""
$websiteName = ""
$WebAppApiVersion = "2015-08-01"
# Example call: SetWebAppConfig MyResourceGroup MySite $ConfigObject
Function SetWebAppConfig($ResourceGroupName, $websiteName, $ConfigObject)
{
Set-AzureRmResource -ResourceGroupName $ResourceGroupName -ResourceType Microsoft.Web/sites/Config -Name $websiteName/web -PropertyObject $ConfigObject -ApiVersion $WebAppApiVersion -Force
}
Write-Host "Set a virtual application"
$props=@{
virtualApplications = @(
@{ virtualPath = "/"; physicalPath = "site\wwwroot" },
@{ virtualPath = "/bar"; physicalPath = "site\wwwroot" }
)
}
SetWebAppConfig $ResourceGroupName $websiteName $props
我在我的实验室测试过,它对我有用。
以 Walter 的回答为基础,成功了。要将新的虚拟应用程序附加到现有应用程序,运行 此代码:
# Example call: SetWebAppConfig MyResourceGroup MySite $ConfigObject
# https://github.com/davidebbo/AzureWebsitesSamples/blob/b2a3d67a90b7b2d673d68dab553f82e015333d10/PowerShell/HelperFunctions.ps1#L84-L87
Function SetWebAppConfig($ResourceGroupName, $SiteName, $ConfigObject)
{
$WebAppApiVersion = "2015-08-01"
Set-AzureRmResource -ResourceGroupName $ResourceGroupName -ResourceType Microsoft.Web/sites/Config -Name $SiteName/web -PropertyObject $ConfigObject -ApiVersion $WebAppApiVersion -Force
}
Login-AzureRmAccount
Select-AzureRmSubscription -SubscriptionId $subscriptionId
$website = Get-AzureRmWebApp -ResourceGroupName $resourceGroupName -Name $websiteName
$virtualApplications = $website.SiteConfig.VirtualApplications
$hash = New-Object System.Collections.ArrayList
for ($j = 0; $j -lt $virtualApplications.count; $j++) {
$entry = @{ virtualPath = $virtualApplications[$j].VirtualPath; physicalPath = $virtualApplications[$j].PhysicalPath }
$hash.add($entry)
}
$newEntry = @{ virtualPath = "/$siteName"; physicalPath = "site$siteName" }
$hash.add($newEntry)
$hashProps.VirtualApplications
$virtualApps = $website.SiteConfig.VirtualApplications.Add(@{ virtualPath = "/$siteName"; physicalPath = "site$siteName" })
$props=@{
virtualApplications = $hash.ToArray()
}
SetWebAppConfig $resourceGroupName $websiteName $props