2017-08-28 26 views
2

Powershellを使用してAzure Webサイトに仮想アプリケーションを追加しようとしています。スクリプトはエラーなく実行されますが、私の変更はportal.azure.comには表示されません。変更を維持するために最後に実行する必要がある別のコマンドがありますか?PowershellのSet-AzureRmWebAppの変更がAzureポータルに表示されない

$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 

答えて

0

仮想アプリケーションを追加するには、次のコマンドを使用してください。

$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" 
[email protected]{ 
    virtualApplications = @(
     @{ virtualPath = "/"; physicalPath = "site\wwwroot" }, 
     @{ virtualPath = "/bar"; physicalPath = "site\wwwroot" } 
    ) 
} 
SetWebAppConfig $ResourceGroupName $websiteName $props 

私は私の研究室でテストしますが、それは私のために働きます。これについて

enter image description here

詳しい情報、herehereを参照してください。

+0

それが働くだろうが、私は既存のものを置き換えるものではありませ、仮想アプリケーションを追加する必要があるように思える:既存のものに新しい仮想アプリケーションを追加するには、このコードを実行します。私はGet-AzureRmWebAppの結果を追加しようとしましたが、「デフォルトアプリケーションがありません/」まだありません。 – Cass

+0

私はそれを理解しました;以下の私の答えを見てください。 – Cass

0

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" }) 
[email protected]{ 
    virtualApplications = $hash.ToArray() 
} 

SetWebAppConfig $resourceGroupName $websiteName $props 
関連する問題