Weźmy przykładowo cmdlet Get-ChildItem, który omówiłem wstępnie we wspomnianym wyżej artykule. Wywołując cmdlet Get-ChildItem, otrzymujemy listę elementów, które mogą być, w zależności od kontekstu, plikami i folderami, ale nie tylko. Te elementy są jednak zawsze obiektami, posiadającymi programistyczne właściwości i metody.
Zobaczmy, dla czystego przykładu, jakie właściwości i metody posiadają pliki zawarte w bieżącym katalogu oraz w jaki sposób można się do nich odwoływać:
PS C:\WINDOWS\system32> Get-ChildItem -File | gm -MemberType Property, Method | Format-Table Name, Membertype
W rezultacie wykonania powyższego polecenia, otrzymujemy listę obiektów, ich właściwości i metod:
Właściwości i metody obiektów w PowerShell 5.0 |
Znając dostępne dla danego obiektu właściwości i metody, które zależne są od jego klasy, możemy z nich korzystać do konkretnych celów. Czysto przykładowo, korzystając z właściwości LastAccessTime, która jest dostępna dla obiektów klasy System.IO.FileInfo, możemy ograniczyć listę elementów zwracanych przez cmdlet Get-ChildItem do tych, których czas ostatniego dostępu jest późniejszy od daty 12/12/2016:
PS C:\Windows\system32> Get-ChildItem -File | where LastAccessTime -gt "12/12/2016"
W rezultacie wykonania powyższego polecenia, otrzymujemy:
Korzystanie z właściwości i metod obiektów w PowerShell 5.0 |
Ten sam efekt można uzyskać korzystając z możliwości bezpośredniego odwoływania się do właściwości obiektów PowerShell. Jest na do sporo sposobów. Zademonstruję dwa z nich:
PS C:\WINDOWS\system32> ( gci -File ).where({$PSItem.LastAccessTime -gt "12/12/2016"});
PS C:\WINDOWS\system32> (gci).where( {!$_.psiscontainer -AND $_.LastAccessTime -gt "12/12/2016"} );
W Windows PowerShell 5.0 możemy jednak tworzyć własne obiekty i korzystać z ich specyficznych właściwości i metod. Zobaczmy teraz, prosty wstęp do pracy z własnymi obiektami:
Tworzenie obiektów w PowerShell 5.0 |
PS C:\Windows\System32> (New-Object -Com WScript.Network).MapNetworkDrive( "N:" , "\\SAMBA-SERVER1\Dom")
Innym prostym przykładem pracy z własnymi obiektami w PowerShell 5.0 może być obiekt klasy wscript.shell:
Tworzenie obiektów w PowerShell 5.0 |
O co w tym chodzi? Otóż utworzyłem przykładowy obiekt klasy wscript, uzyskałem listę jego metod i właściwości, po czym zastosowałem metodę popup, co spowodowało pojawienie się okienka z uśmiechem.
Rzyczę miłej zabawy z obiektami w PowerShell 5.0 i zapraszam ponownie!
Brak komentarzy:
Prześlij komentarz
Dodaj komentarz