タイトルどおり、備忘録です。Azure PowerShellにはピンポイントで有効にする引数がなかったので。
その1
方法はいくつかあって、Set-AzureRmResourceコマンドを使うことです。Set-AzureRmResourceは、低レベルなARMのコマンドで、そのままJSONをPUTするような形になるので、特定のコマンドが用意されてなくてもなんとかなります。JSONは、Hash形式でデータを用意しておけば、なんとなくシリアライズしてくれます。
ただし、成功・失敗が分かりにくいので、 https://resources.azure.com/ で確認しつつやるといいでしょう。
$PropertiesObject = @{
alwaysOn = $True;
}
Set-AzureRmResource -PropertyObject $PropertiesObject -ResourceGroupName hoge -ResourceType Microsoft.Web/sites/config -ResourceName fuga/web -ApiVersion 2015-08-01 -Force
上のResourceNameの引数のfugaの部分をWebAppの名前にしてください。
その2
Get-AzureRmWebSApp でWebAppの情報を取得すると、 SiteConfig.AlwaysOn プロパティがありますので、これに Trueを設定し、Set-AzureRmWebAppで設定します。
$app = Get-AzureRmWebApp -ResourceGroupName hoge -Name fuga
$app.SiteConfig.AlwaysOn = $true
$app| Set-AzureRmWebApp
特定の引数は、Set-AzureRmWebApp直接指定できますが、オプションが増えすぎて、あまり追加されないぽいので、こういうやり方になっている気がします。
1つめは、PUT一回、2つめは、GET/PUTの2回通信が必要になるくらいですけど、まあどっちでもよいでしょう。