PowerShell 任务不是 运行 Azure Pipelines 中的脚本?

PowerShell Task not running the script in Azure Pipelines?

我有一个 powershell 任务,用于 运行 涉及创建 azure 资源的脚本(示例:资源组、Azure Key Vault、Function App...)。当管道 运行 到达部署阶段的 powershell 任务时,它显示以下消息:

这里的问题,它说Finishing:Powershell但是它没有执行脚本并且没有创建任何 azure 资源。

这是 powershell 脚本的示例:

$vaultName = "key vault name"
$blobstorageName = "blob storage name"
$Location = "Location Name"
$resourceGroupName = "Resource Group Name"

try {

    #Creation of Resource Group
    $resourceGroup = Get-AzResourceGroup -ResourceGroupName $resourceGroupName -ErrorAction SilentlyContinue 

    if($null -eq $resourceGroup)
    {
        New-AzResourceGroup -Name $resourceGroupName -Location $Location
    }

    else
    {
        Write-Host "The ResourceGroup with the name: $resourceGroupName already exists."
    }

    # Creation of Storage Account

    $checkBlobStorage = (Get-AzStorageAccountNameAvailability -Name $blobstorageName) | Select-Object NameAvailable
    if ($checkBlobStorage.NameAvailable)
    {
        New-AzStorageAccount -ResourceGroupName $resourceGroupName -AccountName $blobstorageName -Location $Location -SkuName Standard_LRS -Kind StorageV2 -AccessTier Hot
    }

    else 
    {
        Write-Host "The name $blobStorageName is not available. Suggest a new globally unique name!"
    }


catch 
{

}

有人知道哪里出了问题吗?我是否在 powershell 脚本中遗漏了某些内容(也许我无法从 azure devops 直接访问 azure 门户)或者可能缺少某些内容 Yaml 文件 ?

两大问题:

  1. 您似乎正在为这种脚本使用 Powershell Task, which is not designed for communication with Azure. You should use the Azure Powershell task,因为它已经加载了正确的模块并准备了身份验证。
  2. 您的脚本吞没了错误,因此它隐藏了出错的地方。通常 not 捕获异常更有用;如果您的脚本出错,那么让它出错,并让管道在其日志中向您显示发生了什么。