Charting and DataVisualization with PowerShell
Hemanth C. Damecharla
Why Should I Automate?
The job of an administrator entails various administrative duties that do not
change from day to day and can be tedious chores. By automating recurring
administrative tasks and responses to server events, you can free time to
perform tasks that require creativity and lack predictable or programmable
Why visualize the results
• Effective presentation of case-in-point scenarios.
• Gives visibility to the KPIs being impacted by the work you are doing.
• Create impact.
A little something about Reflection &
• In essence Namespaces are just like containers.
• An assembly is a packaged chunk of functionality.
• Reflection is the namespace that tells Windows PowerShell exactly which
assembly class to use.
[AppDomain]::CurrentDomain.GetAssemblies() | Sort-Object -Property FullName | Format-Table -Property FullName
Quick Demo –Top 5 memory
Our Data will come from the below
Get-Process | sort PrivateMemorySize -
Descending | Select-Object -First 5
What’s in my chart?
• The Chart object is the first object you create.
All other elements get attached to this object. It
has a lot of properties which are only useful
when you want to display your chart in a GUI.
But it also determines the size of your chart(s).
• The ChartArea object defines how the chart
grid looks like, it also holds the axis titles and
some overall design options.
• The data Series makes your chart a chart. It not
only defines the displayed values (data points),
but it also sets the style (“type”) your data is
Demo: Building Charts
from Perfmon Data
We will look at a couple of things here.
• Getting the headers from CSV files.
• Getting the data in a way that
makes it easy to bind it to an axis.
Are we limited in the kind
of data we can plot
Not that I know off.
Let’s check out the data from the NIKE
app in an apple device and see if we can
plot the data.
• No discussion on visualization and charting is complete without mentioning
• SeeSheel is the brainchild of Jim Christopher, aWindows PowerShell MVP
and a founder of Code Owls LLC
• SeeShell is a toolkit to visualize the data from various sources such asWMI
objects, performance counters, event logs, files, databases, system
• It has the ability to render graphs asynchronously as well.
• You guys. Especially the guys organizing the event.
• Denniver Reining (http://bytecookie.wordpress.com).The awesome chart
diagrams he has on this blog are the inspiration for the anatomy of a chart
• Richard MacDonald’s blog post on PowerShell Charting.
• Jim Christopher (@beefarino) for creating SeeShell.