PowerShell:
Trabalhando com YAML

Como:

Por padrão, o PowerShell não vem com um cmdlet integrado para analisar YAML, mas funciona sem problemas com YAML quando você utiliza o módulo powershell-yaml ou converte YAML em um objeto do PowerShell usando ConvertFrom-Json em combinação com uma ferramenta como yq.

Usando o Módulo powershell-yaml:

Primeiro, instale o módulo:

Install-Module -Name powershell-yaml

Para ler um arquivo YAML:

Import-Module powershell-yaml
$content = Get-Content -Path 'config.yml' -Raw
$yamlObject = ConvertFrom-Yaml -Yaml $content
Write-Output $yamlObject

Para escrever um objeto do PowerShell em um arquivo YAML:

$myObject = @{
    name = "John Doe"
    age = 30
    languages = @("PowerShell", "Python")
}
$yamlContent = ConvertTo-Yaml -Data $myObject
$yamlContent | Out-File -FilePath 'output.yml'

Exemplo de output.yml:

name: John Doe
age: 30
languages:
- PowerShell
- Python

Analisando YAML com yq e ConvertFrom-Json:

Outra abordagem envolve usar yq, um processador de YAML de linha de comando leve e portátil. yq pode converter YAML em JSON, o qual o PowerShell pode analisar nativamente.

Primeiro, garanta que yq esteja instalado em seu sistema. Então execute:

$yamlToJson = yq e -o=json ./config.yml
$jsonObject = $yamlToJson | ConvertFrom-Json
Write-Output $jsonObject

Este método é particularmente útil para usuários que trabalham em ambientes multiplataforma ou preferem usar JSON dentro do PowerShell.