Категория: Windows 7 Seven / Администрирование / Просмотров: 3536 / Комментариев: 1
При изучении PowerShell очень важно понять некоторые моменты. Основной из них на мой взгляд — это то, что PowerShell всегда работает с объектами. Текст, выводимый в консоли — лишь описание этих объектов в удобочитаемой форме. Давайте попробуем разобраться, что же такое объект в PowerShell.
В качестве примера возьмем обыкновенный перочинный нож (pocketknife), и попробуем его описать:
А теперь возьмем наш реальный ножик и перенесем его вместе со всеми свойствами и методами в 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 . В следующей статье мы рассмотрим, что можно сделать с объектом, используя его свойства и методы.