Jak w PowerShellu rozdwoić potok? Chcę obiekty będące wynikiem działania poleceń w potoku mieć np. na monitorze i w zmiennej.
Jak w PowerShellu rozdwoić potok? Chcę obiekty będące wynikiem działania poleceń w potoku mieć np. na monitorze i w zmiennej.
Wystarczy przypisać wynik do zmiennej i wstawić to w nawiasy np. ($drive=Get-PSDrive).
Chodzi o polecenie Tee-Object.
Przykłady:
PS C:\>get-process | tee-object -filepath C:\Test1\testfile2.txt
lub
PS C:\>get-process notepad | tee-object -variable proc | select-object processname,handles
Podstawowym sposobem jest zastosowanie wymienionego przez Pawła cmdletu, Tee-Object dodatkowo. Wiele cmdletów wspiera również alternatywną metodę w postaci parametru OutVariable pozwalającego na rozdwojenie strumienia wyjściowego.
Poniższy przykład wyświetla wynik polecenia Get-ChildItem i dodatkowo umieszcza wyjście w zmiennej cChildren:
Get-ChildItem -OutVariable cChildren $cChildren.Count