Záznam, prezentace, pivo, seznam příkazů a Q&A z druhého dílu PowerShell akademie

Ve druhém dílu PowerShell akademie David Moravec navazuje na konec dílu prvního a předvede pokročilejší práci s rourou. Za pomoci pivního příkladu vysvětlí, proč se administrátoři nemusí bát slova objekt a proč je naopak tento koncept výhodou. Podrobně ukáže jak pracovat s více objekty (např. s procesy) nebo jak na základě jednoduchých pravidel vybrat jenom některé z nich, to vše včetně velice podrobných a názorných demo ukázek.

Videozáznam, prezentaci, seznam příkazů  a modul pivo, použitý během lekce můžete stáhnout zde:

PowerShell akademie - díl 2 - Práce s rourou – videozáznam

PowerShell akademie - díl 2 - Práce s rourou – prezentace

PowerShell akademie - díl 2 - Práce s rourou – seznam příkazů

PowerShell akademie – díl 2 – Práce s rourou – PSbeer.ps1

Další díl PowerShell akademie startuje již dnes v 16:00, informace najdete v tomto článku.

Otázky padly následující:

Když bude v objektu beer ID a NAME dvou různých procesů, budou zastaveny dva různé procesy nebo se vezme jen první objekt?
Toto bylo myslím ukázáno živě v prezentaci. Zastaví se jen proces, který je uveden jménem - DefaultParameterSet je v tomto případě dle name.

Pro mě je odpověď na předchozí dotaz nedostatečná - co když bude kolize dvou ne-default?
Při kolizi dvou ne-default, může nastat nastat situace, kdy PowerShell zahlásí chybu - Parameter set cannot be resolved. Přidám tuto situaci do slíbeného článku.

Já jsem dotaz pochopil tak že co se stane pokud bude existovat více procesů se stejným parametrem name, tak který z nich zastaví?
Pokud bude spuštěno více procesů stejného jména (notepad) a my v konzoli spustíme Get-Process notepad | Stop-Process, zastavíme tím všechny otevřené poznámkové bloky.

Chtěl bych se zeptat na parametr OutBuffer při vícenásobné pipe. Chápu správně, že pipe funguje bez nastaveného OutBuffer tak, že collection všech objektů z prvního příkazu je předána do pipe a následně zpracována následujícími příkazy v pipe. Pokud nastavím OutBuffer na např. 5, bude do následujícího příkazu předáno 5 objektů a dokud nebude pipe dokončena, nepředá příkaz se setnutým OutBuffer další sadu objektů ke zpracování?
Standardně je objekt posílán z cmdletu přes rouru dalšímu cmdletu v okamžiku, kdy je zpracován, tj. objekty jsou posílány postupně. Pokud je nastaven OutBuffer, jsou objekty předány dalšímu cmdletu až v okamžiku, kdy jejich počet odpovídá nastavenému OutBuffer.