Public/Export-JSONData.ps1
<#
.COPYRIGHT Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. See https://github.com/microsoftgraph/powershell-intune-samples/blob/master/LICENSE for license information. #> Function Export-JSONData() { <# .SYNOPSIS This function is used to export JSON data returned from Graph .DESCRIPTION This function is used to export JSON data returned from Graph .EXAMPLE Export-JSONData -JSON $JSON Export the JSON inputted on the function .NOTES NAME: Export-JSONData #> param ( $JSON, $ExportPath ) try { if ($JSON -eq "" -or $JSON -eq $null) { write-host "No JSON specified, please specify valid JSON..." -f Red } elseif (!$ExportPath) { write-host "No export path parameter set, please provide a path to export the file" -f Red } elseif (!(Test-Path $ExportPath)) { write-host "$ExportPath doesn't exist, can't export JSON Data" -f Red } else { $JSON1 = ConvertTo-Json $JSON $JSON_Convert = $JSON1 | ConvertFrom-Json $displayName = $JSON_Convert.displayName $Properties = ($JSON_Convert | Get-Member | ? { $_.MemberType -eq "NoteProperty" }).Name $displayName = $JSON_Convert.displayName $FileName_CSV = "$DisplayName" + "_" + $(get-date -f dd-MM-yyyy-H-mm-ss) + ".csv" $FileName_JSON = "$DisplayName" + "_" + $(get-date -f dd-MM-yyyy-H-mm-ss) + ".json" $Object = New-Object System.Object foreach ($Property in $Properties) { $Object | Add-Member -MemberType NoteProperty -Name $Property -Value $JSON_Convert.$Property } write-host "Export Path:" "$ExportPath" $Object | Export-Csv "$ExportPath\$FileName_CSV" -Delimiter "," -NoTypeInformation -Append $JSON1 | Out-File "$ExportPath\$FileName_JSON" write-host "CSV created in $ExportPath\$FileName_CSV..." -f cyan write-host "JSON created in $ExportPath\$FileName_JSON..." -f cyan } } catch { $_.Exception } } |