This one is going to be quick and to the point.
If you have been writing VBScripts and the like, you know, in order to block columns of information, by finding the max length of the entry and then use that against the length of each item:
L = 120
For each prop in obj.Properties_
txtstream.WriteLine(Prop,Name & spaces(L - len(prop.Name)) & nextvalue
Of course the above is a pretty bad example. But you get the Idea. Get the longest length and then add padding to the right using the space function to add the number of spaces need so that the next value would start at exactly the same location.
In .Net and using power shell:
foreach($prop in $obj.Proeprties_)
$txtstream.WriteLine("$prop.Name.ToString.Paddright 120, " ") + $nextValue
And it is done.