Геек Сцхоол Писање првог потпуног ПоверСхелл скрипта
Пре неколико недеља, Геек вам је показао како можете да користите командну линију да пронађете када је ваш рачунар задњи пут покренут. У овој последњој инсталацији Геек школе за ПоверСхелл, написаћемо ПоверСхелл за вишекратну употребу да урадимо исту ствар.
Обавезно прочитајте претходне чланке из серије:
- Сазнајте како да аутоматизујете Виндовс помоћу ПоверСхелл-а
- Учење коришћења команди у ПоверСхелл-у
- Учење како користити објекте у ПоверСхелл-у
- Учење обликовања, филтрирања и упоређивања у програму ПоверСхелл
- Научите да користите даљински рад у ПоверСхелл-у
- Коришћење ПоверСхелл-а за добијање информација о рачунару
- Рад са колекцијама у ПоверСхелл-у
- Научите како да користите задатке у програму ПоверСхелл
- Сазнајте како проширити ПоверСхелл
- Учење ПоверСхелл варијабли, улаз и излаз
Писање првог скрипта
Прво што треба да урадимо је да пронађемо начин да приступимо информацијама које тражимо. Пошто се бавимо информацијама о управљању, вероватно морамо да погледамо користећи ВМИ, који заиста има класу названу Вин32_ОператингСистем која вам омогућава да прегледате детаљне информације о вашем оперативном систему, укључујући и последњи пут када је покренут..
Тако да сада знамо гдје можемо пронаћи информације које тражимо, отворити ИСЕ и уписати сљедеће.
Гет-ВмиОбјецт -Цласс Вин32_ОператингСистем -ЦомпутерНаме лоцалхост |
Селецт-Објецт -Проперти ЦСНаме, ЛастБоотУпТиме
Напомена: Морао сам да поделим свој код на две линије тако да се све уклопи у снимак екрана, али слободно га откуцајте на једној линији. Ако се одлучите да га поделите на две линије, проверите да ли је знак за цеви последњи знак на линији 1.
Сада кликните на зелено дугме “Рун Сцрипт” или притисните тастер Ф5 на тастатури да бисте тестирали код.
ВМИ времена могу бити мало загонетна. Под тим мислимо ако погледате ЛастБоотУпТиме својство, он каже да је 2013-03-19 у 18:26:21, али из неког разлога ВМИ дечки су одлучили да све то повежу у један стринг. Срећом за нас, не морамо се бринути о ручном парсирању стринга јер постоји лакши начин да се то уради, иако напреднији. Потребно је да промените део кода изабраног објекта да изгледа овако:
Селецт-Објецт -Проперти ЦСНаме, @ н = ”Ласт Боотед”;
е = [Манагемент.МанагементДатеТимеЦонвертер] :: ТоДатеТиме ($ _. ЛастБоотУпТиме)
Оно што ми овде радимо је креирање прилагођеног својства названог "Ласт Боотед" и наводећи да његова вредност мора бити резултат позивања ТоДатеТиме статичког метода на ЛастБоотУпТиме својство тренутног објекта цевовода. Ваш код би сада требао изгледати овако.
Покретање кода сада ће дати много читљивије задње време.
Сада када смо задовољни основном функционалношћу наше скрипте, морамо је сачувати. Ради једноставности, сачувајмо га као следеће:
Ц: Гет-ЛастБоотТиме.пс1
Сада пређите на доњу половину ИСЕ-а и покрените следеће:
Ц: Гет-ЛастБоотТиме.пс1
Сјајно! Наша скрипта ради како је и очекивано, али још увек постоји један проблем са нашим сценаријем. Написали смо име рачунара за који желимо да добијемо последње време. Уместо вредности хардцодинга, требало би да дамо параметар тако да онај ко користи скрипту може да изабере против кога ће покренути скрипт. Да бисте то урадили, идите на врх скрипте и урадите следеће.
парам (
[стринг] $ ЦомпутерНаме
)
Затим замените хардцодед лоцалхост вредност са променљивом $ ЦомпутерНаме. Скрипта би сада требала изгледати овако:
Сачувајте свој скрипт, а затим се вратите у доњу половину ИСЕ-а и погледајте помоћ за вашу скрипту.
хелп Ц: Гет-ЛастБоотТиме.пс1
Авесоме, тако да сада можемо да наведемо име рачунара које желимо да задње време за коришћење нашег новог параметра ЦомпутерНаме. Нажалост, још увијек постоји неколико ствари које су погрешне. Прво, параметар ЦомпутерНаме је необавезан, а друго, то је најружнија помоћ коју сам икада видео, па ћемо брзо решити те проблеме. Да би параметар ЦомпутерНаме био обавезан, промените садржај парам блока на следећи.
[Параметер (Мандатори = $ труе)] [стринг] $ ЦомпутерНаме
Што се тиче израде боље датотеке помоћи, најчешћи метод је кориштење помоћи засноване на коментарима. То значи да додајемо екстра дуги коментар врху скрипте.
<#
.СИНОПСИС
Приказује када је рачунар покренут.
.ОПИС
Ово је ВМИ функција омотача да бисте добили време које је ваш ПЦ последњи пут покренуо.
.ПАРАМЕТЕР ЦомпутерНаме
Име рачунара са којим желите да покренете команду.
.ПРИМЕР
Гет-ЛастБоотТиме -ЦомпутерНаме лоцалхост
.ЛИНК
ввв.ховтогеек.цом
#>
Када се све то уради, треба да завршите са скриптом која изгледа овако.
Хајде да погледамо нашу нову датотеку за помоћ.
Аххх, изгледаш сјајно! Сада када је наш скрипт завршен, имамо још једну ствар: тестирање. За ово ћу изаћи из ИСЕ-а и вратити се назад у ПоверСхелл конзолу само да бисмо се уверили да нема аномалија.
Ако почнете са једноставном линијом и само наставите да се надовезујете на њу као што смо то учинили у овом водичу, у најкраћем року ћете добити обешеницу. То је све за ово време, видимо се у следећој инсталацији Геек школе.