Functions/ConvertFrom-S1ConnectionPackageList.ps1


function ConvertFrom-S1ConnectionPackageList {
    [CmdletBinding()]
    param([Parameter(Mandatory = $True, ValueFromPipeline = $True)]
        [string[]] $Lines )
    PROCESS {
        Write-Verbose("Processing line #$lines#")
        $lines  | ForEach-Object {
            if ($lines -like "*ListPackageOptionsProcessor - Version*") {
                $parts = $_.Substring($_.IndexOf("ListPackageOptionsProcessor")+30).split(" ").Trim();
                $item = @{};
                Write-Verbose("Processing line #$line#")
                for ($i = 0; $i -lt $parts.Count; $i += 2) {
                
                     Write-Verbose("Processing part $i $($parts[$i]) $($parts[$i+1])#")
                     switch($parts[$i]){
                        "Version"{$item.Version=$parts[$i + 1].replace(",","")}
                        "Schema"{$item.Schema=$parts[$i + 1]}
                        "<="{$item.Current=$true}
                        Default{$item.Add($parts[$i],$parts[$i + 1])}
                     }
                };
                write-output ([PSCustomObject]$item)
                # Write-Verbose ([PSCustomObject]$item| ConvertTojson)
            }
        }
    }
}