使用PowerShell将Azure网站平台从32位更改为64位

时间:2015-07-31 13:34:31

标签: powershell azure azure-web-sites azure-powershell

使用azure powershell创建的网站默认为32位平台

$prop = @{ "serverFarmId" = $plan.Id ; 'Sku' = 'Standard' }
New-AzureResource -ResourceName $webSiteName -Location $plan.Location -ResourceType 'Microsoft.Web/sites' -PropertyObject $prop -ResourceGroupName $resourceGroupName -Force }

我需要将其更改为64位。我想我可以通过New-AzureResourceSet-AzureResource在PropertyObject中传递一些参数,但我找不到语法。

如何将网站从32位切换到64位(反之亦然)

我使用最新版本的Azure cmdLets(2015年7月)

加分问题:

documentation根本没有明确可能的值:

  

-PropertyObject指定新属性值。输入属性名称和值的哈希表。名称和值是   区分大小写的。

我们在哪里可以找到有关这些cmdLets的更多信息? (是的,我试过google ...)

2 个答案:

答案 0 :(得分:3)

要将正在运行的网站从32位更改为64位,可以使用以下PowerShell cmdlet:

Get-AzureWebsite "websitenamegoeshere"

查看Use32BitWorkerProcess值...这将允许您查看网站的属性以确认32位进程。

要将此值更改为false(因此为64位),请使用以下命令:

Set-AzureWebsite "websitenamegoeshere" -Use32BitWorkerProcess $false

如果重新运行Get-AzureWebsite命令,则应该能够确认该值现在为false。此外,如果您在Azure门户中检查您的网站属性,您应该能够确认它现在已配置为64位。

注意:您可能需要使用F5刷新浏览器,以便重新加载缓存值。

答案 1 :(得分:2)

@ Brian的解决方案有效,但这个也有效。 它具有设置" AlwaysOn"的优势,Set-AzureWebsite没有此参数。

$r = Get-AzureResource -ResourceName testskuws -ResourceType Microsoft.Web/sites -ResourceGroupName Default-Web-NorthCentralUS -OutputObjectFormat New
$r.Properties.SiteConfig = @{ 'AlwaysOn' = $true ; 'Use32BitWorkerProcess' = $false }
$r | Set-AzureResource -OutputObjectFormat New

使用2015年7月的Azure cmdlet版本