Remember back in chapter 8 when we created our initial design for Get-MachineInfo? So far, we’re querying for some information but not for everything we want it to do. That was a deliberate decision we made so that you could get some structure around the tool first. We’ve also held off because once you start querying a bunch of information, you need to take a specific approach to combine it, and we wanted to tackle that approach in a single chapter.
# Query data $Session = New-CIMSession -ComputerName SRV1 $os = Get-CimInstance -ClassName Win32_OperatingSystem ` -CimSession $session # Close session $session | Remove-CimSession # Output data $os | Select-Object -Prop @{n='ComputerName';e={$computer}}, Version,ServicePackMajorVersion
We’re using Select-Object to produce the pieces of output we want. Some might call this the lazy way, but we’re just reducing the information we gathered, which someone could have done entirely alone. Let’s go back to the list of the information we originally wanted and add where we’ll get the information from: