PowerShell:
עבודה עם YAML

איך לעשות:

PowerShell, כברירת מחדל, אינה מגיעה עם cmdlet מובנה לפענוח YAML, אך היא עובדת בחלקות עם YAML כאשר אתה מנצל את המודול powershell-yaml או ממיר YAML לאובייקט של PowerShell באמצעות ConvertFrom-Json בשילוב עם כלי כמו yq.

שימוש במודול powershell-yaml:

ראשית, התקן את המודול:

Install-Module -Name powershell-yaml

לקרוא קובץ YAML:

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

לכתוב אובייקט של PowerShell לקובץ YAML:

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

דוגמה לoutput.yml:

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

פענוח YAML עם yq וConvertFrom-Json:

דרך נוספת כוללת את השימוש בyq, מעבד שורת פקודה קל ונייד עבור YAML. yq יכול להמיר YAML ל-JSON, אותו PowerShell יכול לנתח באופן טבעי.

ראשית, וודא שyq מותקן במערכת שלך. אז הרץ:

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

שיטה זו שימושית במיוחד למשתמשים העובדים בסביבות רב-מערכתיות או עדיפים להשתמש ב-JSON בפנים PowerShell.