Private/Get-HTMLTableFromData.ps1
<#
.SYNOPSIS Function .DESCRIPTION #************************************************************************************************************ # Disclaimer # # This sample script is not supported under any Microsoft standard support program or service. This sample # script is provided AS IS without warranty of any kind. Microsoft further disclaims all implied warranties # including, without limitation, any implied warranties of merchantability or of fitness for a particular # purpose. The entire risk arising out of the use or performance of this sample script and documentation # remains with you. In no event shall Microsoft, its authors, or anyone else involved in the creation, # production, or delivery of this script be liable for any damages whatsoever (including, without limitation, # damages for loss of business profits, business interruption, loss of business information, or other # pecuniary loss) arising out of the use of or inability to use this sample script or documentation, even # if Microsoft has been advised of the possibility of such damages. # #************************************************************************************************************ #> #region Get-HTMLTableFromData Function Get-HTMLTableFromData { [CmdletBinding()] param ( [Parameter(Mandatory = $false)] [object]$InputData, [Parameter(Mandatory = $false)] [ValidateSet('ScriptBody')] [string]$TableType ) $propertyValue = '' try { # lets find out what type of data we are dealing with $propType = $InputData.GetType() | Select-Object -Property Name -ExpandProperty Name } catch { $propType = 'Unknown' # Default to string if we cannot determine the type } switch ($propType) { 'PSCustomObject' { $propertyValue = ConvertTo-HTMLTableFromArray -InputList ($InputData) -TableType $TableType } 'String' { # Some properties we should be able to convert to json and make them easier to read in that format try { $propertyValue = ConvertTo-HTMLTableFromArray -InputList ($InputData | ConvertFrom-Json -ErrorAction Stop) -TableType $TableType } catch { $propertyValue = $InputData } } Default {$propertyValue = $InputData} } return $propertyValue } #endregion |