Геек Школа Учење форматирања, филтрирања и упоређивања у ПоверСхелл-у
У овом издању Геек школе, ми гледамо на обликовање, филтрирање и упоређивање објеката у цјевоводу.
Обавезно прочитајте претходне чланке из серије:
- Сазнајте како да аутоматизујете Виндовс помоћу ПоверСхелл-а
- Учење коришћења команди у ПоверСхелл-у
- Учење како користити објекте у ПоверСхелл-у
И останите у току са остатком серије целу недељу.
Дефаулт Форматтинг
Када сам први пут почео са ПоверСхелл-ом, мислио сам да је све магично, али истина је да је потребно мало времена да се схвати шта се догађа испод хаубе. Исто важи и за систем обликовања ПоверСхелл. У ствари, ако покренете цмдлет Гет-Сервице, генерисани излаз приказује само 3 својства: Статус, Име и ДисплаиНаме.
Али ако пробате Гет-Сервице на Гет-Мембер, видите да објекти СервицеЦонтроллер-а имају много више од само ова три својства, па шта се дешава?
Одговор лежи унутар скривене датотеке која дефинира како већина уграђених цмдлета приказује свој излаз. Да бисте разумели, укуцајте следеће у љуску и притисните Ентер.
нотепад Ц: Виндовс Систем32 ВиндовсПоверСхелл в1.0 ДотНетТипес.формат.пс1кмл
Ако користимо нотепад-ову функцију Финд, можемо брзо да пређемо на одељак који детаљно описује излаз цмдлет-а Гет-Сервице претраживањем типа СервицеЦонтроллер-а..
Изненада, можете видети да испод хаубе ПоверСхелл форматира све објекте у цевоводу који су типа СервицеЦонтроллер и креирају табелу са три колоне: Статус, Наме и ДисплаиНаме. Али шта ако тип којим се бавите нема унос у ту датотеку, или било који други формат датотеке у том случају? Па, заправо, прилично је једноставно. Ако објекат који излази из цевовода има 5 или више својстава, ПоверСхелл приказује сва својства објекта у листи; ако има мање од 5 својстава, приказује их у табели.
Форматирање података
Ако нисте задовољни подразумеваним форматирањем објекта или типа, можете да форматирате своје сопствено форматирање. Постоје три цмдлета које морате знати да бисте то урадили.
- Формат-Лист
- Формат-Табле
- Формат-Виде
Формат-Виде једноставно узима збирку објеката и приказује појединачно својство сваког објекта. Подразумевано ће тражити својство имена; ако ваши објекти не садрже особину имена, она ће користити прво својство објекта након сортирања својстава по абецедном реду.
Гет-Сервице | Формат-Виде
Као што можете да видите, она такође подразумевано поставља две колоне, мада можете да наведете и које својство желите да користите, као и колико колона желите да се прикажу.
Гет-Сервице | Формат-Виде -Проперти ДисплаиНаме-Цолумн 6
Ако је нешто форматирано као табела по подразумеваној вредности, увек можете да је пребаците у приказ листе помоћу цмдлет-а Формат-Лист. Погледајмо на излазу Гет-Процесс цмдлет.
Овај табеларни приказ заиста добро одговара овој врсти информација, али хајде да се претварамо да желимо да је погледамо у облику листе. Све што морамо да урадимо је да га пребацимо Формат-Лист.
Гет-Процесс | Формат-Лист
Као што видите, само четири ставке су приказане у листи по подразумеваној вредности. Да бисте прегледали сва својства објекта, можете користити замјенски знак.
Гет-Процесс | Формат-Лист -Проперти *
Алтернативно, можете одабрати само жељена својства.
Гет-Процесс | Формат-Лист -Проперти наме, ид
Формат-Табле, са друге стране, узима податке и претвара их у табелу. Пошто су наши подаци из Гет-Процесс-а већ у облику табеле, можемо га користити за лако бирање својстава које желимо приказати у табели. Користио сам параметар АутоСизе да би се сви подаци уклопили на један екран.
Гет-Процесс | Формат-Табле наме, ид -АутоСизе
Филтрирање и поређење
Једна од најбољих ствари о коришћењу цевовода заснованог на објекту је да можете да филтрирате објекте из цевовода у било којој фази помоћу цмдлета Вхере-Објецт.
Гет-Сервице | Где-Објецт $ _. Статус -ек "Руннинг"
Употреба објекта где је објекат у ствари веома једноставан. $ _ представља тренутни објекат цевовода, из којег можете изабрати својство на које желите да филтрирате. Овде су само држали објекте у којима је статус Статус једнак Руннинг-у. Постоји неколико оператора поређења који можете користити у блоку скрипте за филтрирање:
- ек (једнако)
- нек (није једнако)
- гт (Веће од)
- ге (Веће или једнако)
- лт (мање од)
- ле (мање од или једнако)
- лике (подудара се са Вилдцард Стринг)
Потпуна листа и више информација могу се погледати у абоут_цомпарисон концептуалној датотеци помоћи, међутим потребно је неко време да се навикнете на синтаксу Вхере-Обејецт. То је све за ово вријеме!