Although PowerShell is a console-based management shell, because it is object-oriented there are many different ways it can present data. In this chapter we'll look at the many ways you can manipulate, format, and even export the output from your PowerShell commands and scripts.
Because PowerShell's output is almost entirely text-based, it's easy to mistake it for a text-based shell. However, what is really happening behind the scenes is that PowerShell is using .NET and cmdlets to carry out your commands and manipulate data as needed. Only when all processing is complete is the final data formatted for textual presentation. However there are many things you can do to control how the data is ultimately presented.