Objekty

PowerShell umí pracovat s objekty, a to znamená, že je objektově orientovaný. Jakýkoliv jeho výstup je objektem. Objekt má svůj typ, vlastnosti a metody. Typ určuje původ tohoto objektu, vlastnosti a metody. Příkladem je pak typ System.String, na kterém závisí řetězec znaků, který díky typu bude mít stejné metody a nezměněné vlastnosti. Vlastnosti (atributy) uchovávají informaci o aktuálním stavu objektu. Dá se říct, že ho popisují. Metody ovlivňují a mění jednotlivé vlastnosti objektu. Zapisujeme ji vždy tak, že za název objektu napíšeme tečku a za tečku název metody. Za metodu umístíme pokaždé kulaté závorky. Zajímají-li nás informace o objektu, využijeme cmdlet Get-Member, který právě tyto informace vrací.

Responsive image
Obrázek: Reprezentace objektu


Práce s objekty
Cmdlet New-Object nám vytvoří nový objekt. Parametrem -Typename říkáme, jakého typu objekt bude. Pomocí cmdletu Add-Member můžeme přidat metodu či vlastnost k objektu. Pro výběr vlastností objektů použijeme cmdlet Select-Object, nebo napíšeme proměnnou, kde je objekt uložený, za ní tečku a danou vlastnost, kterou chceme zobrazit. Where-Object filtruje objekty podle jejich vlastností. Často používáme porovnávací operátory, které jsou dále v práci rozepsány. Formátování objektů pro výpis do konzole zajišťují cmdlety, u kterých je verb/sloveso Format. Formáty mohou být: Tabulka - Table, pouze jedna vlastnost – Wide, list se seznamem -List, vlastní – Custom. Pro porovnání objektů používáme Compare-Object. Tento cmdlet porovná 2 objekty (kolekce), které zapíšeme do parametrů -ReferenceObject a -DifferenceObject. Objekt můžeme zkonvertovat do formátu CSV, XML, HTML, Json. Syntaxe cmdletu pak bude taková, že sloveso bude ConvertTo a podstatné jméno formát, do kterého konvertujeme. Máme-li zkonvertovaný výstup a chceme je převést zpátky na klasický objekt PowerShellu, použijeme sloveso ConvertFrom a jako p. jméno použijeme některý z podporovaných formátů, kterými je např. CSV, Json, String… V případě, že nechceme, aby se zobrazoval první informační řádek, použijeme parametr -NoTypeInfo. S konvertováním také souvisí export a import. Export funguje tak, že vstupní objekty nejprve PowerShell zkonvertuje do požadovaného formátu a poté je uloží do externího souboru. Inverzním cmdletem je pak Import, kdy PowerShell vytvoří nový objekt ve svém prostředí, popř. nové objekty. Data jsou brána z externího souboru, který je v jednom z podporovaných formátů.
Cmdlety pro práci s objekty
                        #Nový objekt
                            New-Object

                        #Vypiš vlastnosti
                            Get-Member
                        
                        #Přidání vlastností objektu
                            Add-Member
                        
                        #Výběr vlastnosti
                            Select-Object 
                        
                        #Export a import 
                            Export-CSV
                            Export-CliXml
                        
                            Import-Csv
                            Import-CliXml

                        #Konverování a formátování
                            ConvertTo-Csv #ConvertTo-XML ConvertTo-HTML ConvertTo-Json
                            ConvertFrom-Csv
                            Convert-String

                            Format-Table
                            Format-Wide
                            Format-List 
                            Format-Custom

                     

© 2019 Copyright: powershell.www3.cz