Examples/Convert-CookieMonsterExample.ps1
#Requires -Modules @{ModuleName="PS2HTMLTable";ModuleVersion="1.0.0.0"} # Retrieve all processes $Processes = Get-Process # Create HTML document $HTML = New-HTMLHead -title "Process Details" # Add CPU time section with top 10 PrivateMemorySize processes. This example does not highlight any particular cells. $HTML += "<h3>Process Private Memory Size</h3>" $HTML += New-HTMLTable $($Processes | Sort-Object PrivateMemorySize -Descending | Select-Object Name, PrivateMemorySize -First 10) # Add Handles section with top 10 Handle usage. $HTMLTable = New-HTMLTable $($Processes | Sort-Object Handles -Descending | Select-Object Name, Handles -First 10) # Add highlighted colors for Handle count # Define parameters array for the "Handles" column $params = @{ # Column name Column = "Handles" # Test criteria. Is value greater than to Argument? ScriptBlock = {[double]$args[0] -gt [double]$args[1]} # CSS attribute to add if ScriptBlock is true CSSAttribute = "style" } # Add yellow, orange and red shading. $HTMLTable = Add-HTMLTableColor -HTML $HTMLTable -Argument 1500 -CSSAttributeValue "background-color:#FFFF99;" @params $HTMLTable = Add-HTMLTableColor -HTML $HTMLTable -Argument 2000 -CSSAttributeValue "background-color:#FFCC66;" @params $HTMLTable = Add-HTMLTableColor -HTML $HTMLTable -Argument 3000 -CSSAttributeValue "background-color:#FFCC99;" @params # Add title and table $HTML += "<h3>Process Handles</h3>" $HTML += $HTMLTable # Add process list containing first 10 processes listed by get-process. This example does not highlight any particular cells. $HTML += "<h3>Random Process Names As List</h3>" $HTML += New-HTMLTable $($Processes | Select-Object Name -First 10) -ListTableHead "Random Process Names" # Add property value table showing details for PowerShell $HTML += "<h3>PowerShell Process Details PropertyValue Table</h3>" $ProcessDetails = Get-Process powershell | Select-Object Name, Id, CPU, Handles, WorkingSet, PrivateMemorySize, Path -First 1 $HTML += New-HTMLTable $(ConvertTo-PropertyValue $ProcessDetails) # Add same PowerShell details but not in property value form. Close the HTML. $HTML += "<h3>PowerShell Process Details Object</h3>" $HTML += New-HTMLTable $ProcessDetails $HTML = $HTML | Close-HTML -Validate $HTML |