如何在azure devops发布管道中通过powershell任务创建azure资源?]

问题描述 投票:1回答:2

我想通过powershell任务创建一个应用程序服务计划(消耗)。为此,我使用了Azure Powershell任务,而我的代码是:

[cmdletbinding()]
    param (
        $AppServicePlanLocation, 
        $AppServicePlanResourceGroupName,
        $AppServicePlan_Name
    )

$location = $AppServicePlanLocation
$resourceGroupName = $AppServicePlanResourceGroupName
$appServicePlanName = $AppServicePlan_Name

Write-Host "SafeCreateAppServicePlan.Parameter:location: $location"
Write-Host "SafeCreateAppServicePlan.Parameter:resourceGroupName: $resourceGroupName"
Write-Host "SafeCreateAppServicePlan.Parameter:appServicePlanName: $appServicePlanName"

$SkuName = "Y1"
$SkuTier = "Dynamic"
$WebAppApiVersion = "2015-08-01"

$fullObject = @{
    location = $location
    sku = @{
        name = $SkuName
        tier = $SkuTier
    }
}

Write-Host "Ensuring the $appServicePlanName app service plan exists"
$plan = Get-AzureRmAppServicePlan -Name $appServicePlanName -ResourceGroupName $resourceGroupName -ErrorAction SilentlyContinue
if(-not $plan) {
    Write-Host "Creating $appServicePlanName app service plan"
    New-AzureRmResource -ResourceGroupName $resourceGroupName -ResourceType Microsoft.Web/serverfarms -Name $appServicePlanName -IsFullObject -PropertyObject $fullObject -ApiVersion $WebAppApiVersion -Force
}
else {
    Write-Host "$appServicePlanName app service plan already exists"   
}

但是它给出了错误:术语“ Get-AzureRmAppServicePlan”未被识别为cmdlet,函数,脚本文件或可操作程序的名称。检查名称的拼写,或者是否包含路径,请验证路径是否正确,然后重试。

Azure Powershell任务无法识别Get-AzureRmAppServicePlan命令。

注意:我没有使用过简单的powershell任务,我已经使用过Azure Powershell任务。

我想通过powershell任务创建一个应用程序服务计划(消耗)。为此,我使用了Azure Powershell任务,我的代码是:[cmdletbinding()] param($ AppServicePlanLocation,...

powershell azure-devops azure-resource-manager azure-powershell azure-app-service-plans
2个回答
0
投票

您不会在Hosted \ Private中提到您正在使用的Azure PowerShell任务的哪个Task版本,或者代理在其中运行的上下文。如果模块可用,这两者都会影响。


0
投票

如果使用的是最新版本的任务,请用*AzureRM*替换所有*Az*命令,因为这是当前受支持的Azure Powershell模块(AzureRM已过时,不再受支持。

© www.soinside.com 2019 - 2024. All rights reserved.