如何编写带 if 条件的内联 Powershell@2 任务脚本?

How can you write an inline Powershell@2 task script with if condition?

我有一个 yaml 管道,任务如下:

- task: PowerShell@2
      displayName: Restart my service
      inputs:
        targetType: 'inline'
        script: |
          $service = Get-Service | Where-Object{$_.DisplayName -like "My Service"}
          if($service)
          {
            Write-host $service.Name " service is restarting."
            Restart-Service $service
          }

但是,最后一个“}”被标记为“无法读取块映射条目”的错误。我假设它试图将一些脚本作为管道内容读取,并且不认为它是脚本的一部分。我如何才能将其作为整个内联脚本接受?

看起来这是一个缩进问题。我得到它与以下工作:

if($service) {
  Write-host $service.Name " service is restarting."
  Restart-Service $service
  }