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



使用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 cmdlet(2015年7月)

附加题:

文档没有明确说明可能的值:

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

我们在哪里可以找到更多关于这些cmdlet的信息?(是的,我试过谷歌…)

要将您正在运行的网站从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版本

最新更新