Об'єкти в PowerShell.
При вивченні PowerShell дуже важливо зрозуміти деякі моменти. Основний з них на мій погляд - це те, що PowerShell завжди працює з об'єктами. Текст, що виводиться в консолі - лише опис цих об'єктів в зрозумілій формі. Давайте спробуємо розібратися, що ж таке об'єкт в PowerShell.
Як приклад візьмемо звичайний складаний ніж (pocketknife), і спробуємо його описати:
- Колір, розмір, кількість предметів і виробник - ось його властивості. Наприклад, ніж червоного кольору, важить 55 грам, має 3 леза, штопор і викрутку і зроблений компанією Victorinox.Іншими словами, властивості об'єкта описують, як він зовні виглядає і що з себе представляє.
- Він може різати, крутити і відкривати - методи. Наприклад, цим ножем можна нарізати ковбасу, відкрити пляшку з вином або відкрутити гвинт. Методи об'єкта описують все те, що їм (або з ним) можна зробити.
А тепер візьмемо наш реальний ножик і перенесемо його разом з усіма властивостями і методами в PowerShell. Для цього створимо новий об'єкт:
$ pocketknife = New-Object Object
Задамо його колір:
Add-Member -memberType NoteProperty -name Color -value Red -inputObject $ pocketknife
Для зручності написання назви параметрів можна писати в скороченому вигляді.Задамо вага об'єкта:
Add-Member -Me NoteProperty -In $ pocketknife -Na Weight -Value 55
і виробника
Add-Member -inputObject $ pocketknife NoteProperty Manufacturer Victorinox
У більшості командлетів PowerShell об'єкт можна задавати не тільки за допомогою параметра inputObject але і передавати по конвеєру, тому для завдання наступного властивості виберемо такий метод:
$ pocketknife | Add-Member NoteProperty Blades 3
Ми описали наш об'єкт за допомогою 4 властивостей - колір, розмір, виробник і кількість лез.Щоб вивести одну властивість, потрібно ввести ім'я об'екта.свойство, наприклад:
$ pocketknife.manufacturer
Властивості ми задали, тепер перейдемо до методів.
Додамо новий метод:
Add-Member -memberType ScriptMethod -In $ pocketknife -name cut -Value { «зараз я ріжу»}
При завданні методів імена параметрів можна опустити:
Add-Member -in $ pocketknife ScriptMethod screw { «А зараз відгвинчуємо»}
Або передати по конвеєру:
$ pocketknife | Add-Member ScriptMethod corkscrew { «І відкриваю пробку»}
А тепер спробуємо скористатися своїм віртуальним ножем за призначенням:
$ pocketknife.cut ()
«Зараз я ріжу»
Об'єкт $ pocketknife видав команду (script), яку ми заклали в метод cut. Щоб дізнатися докладну інформацію про цей метод, наберемо:
$ pocketknife.cut
Властивості (properties) і методи (methods) разом становлять сутність об'єкта і називаються елементами (members).Подивитися всі елементи об'єкта можна командою Get-Member
Нашим віртуальним ножем неможливо скористатися в реальності. Однак я сподіваюся, що він допоміг вам зрозуміти, що з себе представляють об'єкти в PowerShell. У наступній статті ми розглянемо, що можна зробити з об'єктом, використовуючи його властивості та методи.П>.