Мне нужно проанализировать вывод из Invoke-RestMethod, чтобы извлечь элементы в отдельные столбцы в файле CSV, чтобы я мог импортировать в базу данных.Любая помощь будет оценена.
Пробные foreach, split и регулярные выражения
$trusted_facts = @{
query=’["from", "facts",
["extract", ["certname", "environment", "value"],
["=", "name", "trusted"]
]
]’
}
$jsonbody = $trusted_facts | ConvertTo-Json
$response = Invoke-RestMethod -Method POST -Uri $uri -Headers $headers -
Body $jsonbody -ContentType 'application/JSON'
$response.value | Format-List
$response.value | Export-Csv -Path $csvFileName -NoTypeInformation
Это вывод, когда я передаю его в Format-List
domain : prci.com
certname : xobqpupm.prci.com
hostname : xobqpupm
extensions :
authenticated : remote
domain : proghszq.com
certname : scpupt03.proghszq.com
hostname : scpupt03
extensions :
authenticated : remote
domain : proghszq.com
certname : scpupq13.proghszq.com
hostname : scpupq13
extensions : @{pp_role=test_server; pp_apptier=development; pp_project=corporate; pp_department=puppet_common}
authenticated : remote
domain : proghszq.com
certname : scchocot01.proghszq.com
hostname : scchocot01
extensions : @{pp_role=chocotest; pp_apptier=production; pp_project=puppet_ets; pp_department=compute}
authenticated : remote
Thisэто вывод, когда я передаю данные по каналу Export-CSv
"prci.com","xobqpupm.prci.com","xobqpupm","","remote"
"proghszq.com","scpupt03.proghszq.com","scpupt03","","remote"
"proghszq.com","scpupq13.proghszq.com","scpupq13","@{pp_role=test_server; pp_apptier=development; pp_project=corporate; pp_department=puppet_common}","remote"
"proghszq.com","scchocot01.proghszq.com","scchocot01","@{pp_role=chocotest; pp_apptier=production; pp_project=puppet_ets; pp_department=compute}","remote"
Это вывод, который я желаю (т. е. при заполнении расширений извлекать элементы и помещать в отдельные столбцы)
"proghszq.com","scpupq13.proghszq.com","scpupq13","test_server","development","corporate","puppet_common"
"proghszq.com","scchocot01.proghszq.com","scchocot01","chocotest","production","puppet_ets","compute"