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

Change Azure Website platform from 32 to 64 bit with 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 Specifies the new property values. Enter a hash table of property names and values. The names and values are case-sensitive.

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

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

Get-AzureWebsite "websitenamegoeshere"

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

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

Set-AzureWebsite "websitenamegoeshere" -Use32BitWorkerProcess $false

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

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

@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 cmdlets 版本