15Sep

Геек школа: писање првог Фулл ПоверСхелл скрипте

Пре неколико недеља, Тхе Геек вам је показао како можете да користите командну линију да бисте нашли последњи пут када је ваш рачунар покренут.У овој последњој инсталацији Геек школе за ПоверСхелл, упишемо команду ПоверСхелл за вишеструку употребу за исту ствар.

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

  • Сазнајте како да аутоматизујете Виндовс помоћу ПоверСхелл-а
  • Учење да користи Цмдлетс у ПоверСхелл-у
  • Учење како користити објекте у ПоверСхелл-у
  • Формирање, филтрирање и упоређивање учења у програму ПоверСхелл
  • Сазнајте како да користите ремотинг уПоверСхелл
  • Коришћење ПоверСхелл-а за прикупљање информација о рачунару
  • Рад са колекцијама у ПоверСхелл-у
  • Сазнајте како да користите послове у ПоверСхелл-у
  • Сазнајте како да продужите ПоверСхелл
  • Учење ПоверСхелл варијабле, улаз и излаз

Писање вашег првог скрипта

Прво што треба урадити јестепронаћи начин да приступите информацијама које тражимо.Пошто се бавимо информацијама о управљању, вероватно ћемо морати погледати кориштење ВМИ-а, који заиста има класу звану Вин32_ОператингСистем која вам омогућава да прегледате вербалне информације о вашем оперативном систему, укључујући и задњи пут када је покренут.

Дакле, сада када знамо где можемо наћи информације које тражимо, отворите ИСЕ и упишите следеће.

Гет-ВмиОбјецт -Цласс Вин32_ОператингСистем-Компјутерски назив лоцалхост |

Селецт-Објецт -Проперти ЦСНаме, ЛастБоотУпТиме

Напомена: Морао сам да подијелим свој код преко двије линије тако да се сви уклапају у снимак екрана, али слободно га унесите у једну линију.Ако одаберете да је поделите у две реда, проверите да ли је знак цеви последњи знак на линији 1.

Сада кликните на зелени тастер "Рун Сцрипт" или притисните тастер Ф5 на тастатури да бисте тестирали код.

​​ВМИ пута могу бити мало криптични.То подразумева ако погледате својство ЛастБоотУпТиме, пише 2013-03-19 у 18:26:21, али из неког разлога, ВМИ момци су одлучили да све то конципирају у једној низу.Срећом за нас, не морамо бринути о ручном разлагању стринга, јер постоји лакши начин да то урадимо, иако напредније.Мораћете промијенити дио Селецт-Објецт-а кода како би изгледали овако:

Селецт-Објецт -Проперти ЦСНаме, @{ н = "Ласт Боотед";

е ={ [Манагемент.МанагементДатеТимеЦонвертер]: : ТоДатеТиме( $ _. ЛастБоотУпТиме)}}

Оно што радимо овде је стварање прилагођене својства под називом "Ласт Боотед" и прецизирајући да његова вриједност мора бити резултат позивања статичног ТоДатеТимеметода на ЛастБоотУпТиме својини текућег објекта плиновода.Ваш код би сада требао изгледати овако.

Покретање кода сада ће дати много прочитније последње време покретања.

Сада када смо задовољни основном функционалношћу нашег писма, потребно је да је сачувамо.За једноставност, хајде да га сачувамо као следеће:

Ц: \ Гет-ЛастБоотТиме.пс1

Сада пређите на доњу половину ИСЕ-а и покрените следеће:

Ц: \ Гет-ЛастБоотТиме.пс1

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

парам(
[стринг] $ ЦомпутерНаме
)

Затим замените хардцодед лоцалхост вредност са $ ЦомпутерНаме променљивом.Ваша скрипта сада треба да изгледа овако:

Сачувајте своју скрипту, а затим се вратите на доњу половину ИСЕ-а и погледајте помоћ за вашу скрипту.

помоћу Ц: \ Гет-ЛастБоотТиме.пс1

Авесоме, тако да сада можемо одредити име рачунара за који желимо да добијемо задње вријеме за покретање за коришћење нашег новог параметра ЦомпутерНаме.Нажалост, још увек има неколико ствари погрешно.Прво, параметар ЦомпутерНаме је необавезан, а друго, то је најружније корисно које сам икада видео, па ћемо брзо исправити те проблеме.Да би параметар ЦомпутерНаме био обавезан, промените садржај парам блок-а на следеће.

[Параметар( Мандатори = $ труе)] [стринг] $ ЦомпутерНаме

Што се тиче прављења боље датотеке помоћи, најчешћи метод је помоћ помоћу коментара.То значи да само додамо дугачак коментар на врх сценарија.

& лт; #
. СИНОПСИС
Показује када је последњи ваш рачунар покренут.
. ДЕСЦРИПТИОН
Ово је ВМИ омотач да бисте добили време које је ваш рачунар последњи пут покренуо.
. ПАРАМЕТЕР ЦомпутерНаме
Име рачунара на који желите да покренете команду.
. ЕКСАМПЛЕ
Гет-ЛастБоотТиме-ЦомпутингНаме лоцалхост
. ЛИНК
ввв.ховтогеек.цом
# & гт;

Када се све то уради, требало би да завршите са скриптом која изгледа овако.

Хајде сада да погледамо нашу нову датотеку помоћи.

Аххх, одлично изгледа!Сада када је наша скрипта завршена, имамо још једну последњу ствар: тестирање.За то ћу изаћи из ИСЕ-а и вратити се у ПоверСхелл конзолу само да бисмо могли бити сигурни да не постоје аномалије.

Ако почнете са једноставним линером и само наставите да градите на њој као што смо то учинили у овом водичу, ви ћете га зауставити у кратком року.То је све за овај пут људи, видимо се у следећој инсталацији Геек школе.