Чтобы развернуть ответ на вопрос № 1: Наиболее распространенное использование -expandproperty - это расширение свойства, являющегося массивом, на элементы массива, особенно при выполнении export-csv.
PS C:\> get-process lsass | select threads | convertto-csv -notype
"Threads"
"System.Diagnostics.ProcessThreadCollection"
Не очень полезно. Теперь используйте -expandproperty для этой коллекции потоков:
PS C:\> get-process lsass | select -expand threads | convertto-csv -notype
"BasePriority","CurrentPriority","Id","IdealProcessor","PriorityBoostEnabled","PriorityLevel","PrivilegedProcessorTime"
,"StartAddress","StartTime","ThreadState","TotalProcessorTime","UserProcessorTime","WaitReason","ProcessorAffinity","Si
te","Container"
"9","10","572",,,,,"2000143616",,"Wait",,,"LpcReceive",,,
"9","10","588",,,,,"2000143616",,"Wait",,,"UserRequest",,,
"9","9","592",,,,,"2000143616",,"Wait",,,"UserRequest",,,
"9","10","596",,,,,"0",,"Wait",,,"EventPairLow",,,
"9","9","1404",,,,,"0",,"Wait",,,"UserRequest",,,
"9","9","3896",,,,,"0",,"Wait",,,"EventPairLow",,,
"9","9","848",,,,,"0",,"Wait",,,"EventPairLow",,,
"9","11","6216",,,,,"2000143616",,"Wait",,,"UserRequest",,,
"9","9","7924",,,,,"2000143616",,"Wait",,,"EventPairLow",,,