PowerShell:
Arbeider med YAML

Hvordan:

PowerShell kommer som standard ikke med en innebygd cmdlet for å tolke YAML, men det fungerer sømløst med YAML når du bruker powershell-yaml-modulen eller konverterer YAML til et PowerShell-objekt ved hjelp av ConvertFrom-Json i kombinasjon med et verktøy som yq.

Bruke powershell-yaml-modulen:

Først, installer modulen:

Install-Module -Name powershell-yaml

For å lese en YAML-fil:

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

For å skrive et PowerShell-objekt til en YAML-fil:

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

Eksempel på output.yml:

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

Tolke YAML med yq og ConvertFrom-Json:

En annen tilnærming innebærer å bruke yq, en lett og bærbar kommandolinje-YAML-prosessor. yq kan konvertere YAML til JSON, som PowerShell kan tolke naturlig.

Først, sørg for at yq er installert på systemet ditt. Deretter kjør:

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

Denne metoden er spesielt nyttig for brukere som arbeider i plattformuavhengige miljøer eller foretrekker å bruke JSON i PowerShell.