Another Way to Create NoteProperty Entries

We've seen the Select-Object synthetic property method and the Add-Member -name AddNoteProperty method, but here's probably the most straightforward way to output object data.

$object = $true | Select ComputerName, Path, ContentCount;
$object.ComputerName =$env:COMPUTERNAME.ToLower();
$object.Path =Get-Location;
$object.ContentCount = (Get-ChildItem).Count;
$object;

This works because the first line creates an object with the NoteProperty properties we need.  When we Select-Object on properties that don't exist, the cmdlet will create them and set the value to $null. The rest of the script is just a matter of populating the properties, then the last line outputs it.