PowerShell:
Travailler avec YAML
Comment faire :
PowerShell, par défaut, ne vient pas avec un cmdlet intégré pour l’analyse de YAML, mais il fonctionne de manière transparente avec YAML lorsque vous tirez parti du module powershell-yaml
ou convertissez du YAML en un objet PowerShell en utilisant ConvertFrom-Json
en combinaison avec un outil comme yq
.
Utilisation du module powershell-yaml
:
D’abord, installez le module :
Install-Module -Name powershell-yaml
Pour lire un fichier YAML :
Import-Module powershell-yaml
$content = Get-Content -Path 'config.yml' -Raw
$yamlObject = ConvertFrom-Yaml -Yaml $content
Write-Output $yamlObject
Pour écrire un objet PowerShell dans un fichier YAML :
$myObject = @{
name = "John Doe"
age = 30
languages = @("PowerShell", "Python")
}
$yamlContent = ConvertTo-Yaml -Data $myObject
$yamlContent | Out-File -FilePath 'output.yml'
Exemple de output.yml
:
name: John Doe
age: 30
languages:
- PowerShell
- Python
Analyse de YAML avec yq
et ConvertFrom-Json
:
Une autre approche implique l’utilisation de yq
, un processeur YAML en ligne de commande léger et portable. yq
peut convertir du YAML en JSON, que PowerShell peut analyser nativement.
D’abord, assurez-vous que yq
est installé sur votre système.
Ensuite, exécutez :
$yamlToJson = yq e -o=json ./config.yml
$jsonObject = $yamlToJson | ConvertFrom-Json
Write-Output $jsonObject
Cette méthode est particulièrement utile pour les utilisateurs qui travaillent dans des environnements multi-plateformes ou préfèrent utiliser JSON au sein de PowerShell.