Почетна » како да » Геек школа учење како користити објекте у ПоверСхелл-у

    Геек школа учење како користити објекте у ПоверСхелл-у

    Разумевање објеката је један од основних појмова за “добијање” ПоверСхелл-а. Придружите нам се док истражујемо објекте и како они чине ПоверСхелл бољим од било које друге љуске данас.

    Обавезно прочитајте претходне чланке из серије:

    • Сазнајте како да аутоматизујете Виндовс помоћу ПоверСхелл-а
    • Учење коришћења команди у ПоверСхелл-у

    И останите у току са остатком серије целу недељу.

    Објецтс

    Да ли сте се икада запитали шта разликује ПоверСхелл од традиционалне Линук љуске као што је Басх, или чак и командну линију? Одговор је заиста једноставан: традиционални текстови излаза шкољки, што отежава радове попут форматирања и филтрирања. Наравно, постоје алати који ће вам помоћи да обавите посао (сед и греп вам падну на памет), али на крају дана, ако желите да направите било коју врсту тешког рашчлањивања текста, морате знати регуларне изразе као што је иза руке.

    ПоверСхелл користи предности основног .Нет оквира и користи другачији приступ, користећи објекте уместо текста. Објекти су само приказ нечега. Они су скуп делова и акција за њихово коришћење. Погледајмо делове бицикла и како их можемо користити.

    Објекти у .Нет-у су много исти, осим за две мале разлике: називају се "Делови" својства и “Упутства” методе. Ако желимо да представимо Виндовс сервис као објекат, можда ћемо одлучити да је прикладно описати га користећи три својства: назив услуге, стање и опис. Такође морамо да ступимо у интеракцију са услугом, тако да можемо дати објекту метод Старт, Стоп и Паусе.

    Својства и методе објекта можете видјети тако да их прослиједите у цмдлет Гет-Мембер. Објекти које ПоверСхелл цмдлет излази су у великој мјери основни типови из .Нет оквира, али можете креирати властите објекте ако требате користити језик као што је Ц # или користити ПСОбјецт тип..

    Тхе Пипелине

    Постоји много Линук љуски са цевоводом, што вам омогућава да пошаљете текст који једна команда шаље као улаз за наредну команду у цевоводу. ПоверСхелл ово прелази на следећи ниво дозвољавајући вам да узмете објекте које један цмдлет излази и проследите их као улаз на следећи цмдлет у цевоводу. Трик је сазнати који тип објекта се враћа цмдлет, што је стварно лако када се користи цмдлет за Гет-Мембер.

    Гет-Сервице | Гет-Мембер

    Из разлога који нису обухваћени овим чланом, својства и методе се заједнички називају чланови класе, што објашњава зашто користите цмдлет Гет-Мембер да бисте добили листу свих метода и својстава које објект има. Међутим, цмдлет за Гет-Мембер такође враћа други важан део информације, основни тип објекта. На слици изнад, можемо видети да Гет-Сервице враћа објекте типа:

    Систем.СервицеПроцесс.СервицеЦонтроллер

    Пошто се ПоверСхелл бави објектима, а не текстом, не могу се све цмдлет-и повезати помоћу цевовода [1]. То значи да морамо да пронађемо цмдлет који жели да прихвати Систем.СервицеПроцесс.СервицеЦонтроллер објекат из цевовода.

    Гет-Цомманд -ПараметерТипе Систем.СервицеПроцесс.СервицеЦонтроллер

    Приметите да постоји цмдлет који се зове Стоп-Сервице; погледајмо помоћ за то.

    Гет-Хелп -Наме Стоп-Сервице

    Изгледа да параметар ИнпутОбјецт узима низ објеката СервицеЦонтроллер као улаз. Обично, ако видите параметар који се зове ИнпутОбјецт, он ће прихватити унос из цевовода, али само да бисмо били сигурни да погледамо пуну помоћ за тај параметар.

    Гет-Хелп -Наме Стоп-Сервице-Фулл

    Наше сумње су биле тачне. Дакле, у овом тренутку знамо следеће:

    • Гет-Сервице враћа СервицеЦонтроллер објекте
    • Стоп-Сервице има параметар назван ИнпутОбјецт који прихвата један или више СервицеЦонтроллера као улаз.
    • Параметар ИнпутОбјецт прихвата улаз у цевовод.

    Користећи ове информације могли бисмо да урадимо следеће:

    Гет-Сервице -Наме 'Аппле Мобиле Девице' | Стоп-Сервице

    То је све за ово време. Следећи пут ћемо погледати како можемо да форматирамо, филтрирамо и поредимо објекте у цевоводу.

    Домаћи задатак

    • Прочитајте на цјевоводу објекта

    Ако имате било каквих питања можете ме твеетати @таибгибб, или само оставити коментар.