Научите како да аутоматизујете Виндовс помоћу ПоверСхелл-а
У овом издању Геек школе, ми ћемо вам помоћи да разумете моћни ПоверСхелл скриптни језик који је уграђен у Виндовс, и изузетно је корисно знати у ИТ окружењу.
Иако ова серија није структурирана око испита, учење ПоверСхелл-а је једна од најважнијих ствари коју можете да урадите као мрежни администратор, тако да ако постоји једна ствар коју желите да научите да помогнете својој ИТ каријери, то је то. Плус, веома је забавно.
Увод
ПоверСхелл је најмоћнији алат за аутоматизацију који Мицрософт може да понуди, и то и схелл и сцриптинг језик.
Напомињемо да се ова серија заснива на ПоверСхелл 3, који се испоручује са оперативним системима Виндовс 8 и Сервер 2012. Ако користите Виндовс 7, преузмите ажурирање ПоверСхелл 3 пре него што наставите.
Упознајте конзолу и ИСЕ
Постоје два начина интеракције са ПоверСхелл-ом из кутије, конзоле и интегрисане скриптне средине - такође познате као ИСЕ. ИСЕ се знатно побољшао у односу на страшну верзију која је испоручена са ПоверСхелл 2 и може се отворити притиском на комбинацију тастатуре Вин + Р да би се отворио оквир за покретање, а затим откуцати поверсхелл_исе и притиснути ентер.
Као што можете видјети, ИСЕ спорт има подијељен поглед тако да можете брзо скриптовати док још увијек можете видјети резултат у доњој половини ИСЕ-а. Доња половина ИСЕ-а, где се штампају резултати ваше скрипте, такође може да се користи као РЕПЛ промпт - слично као и командна линија. В3 ИСЕ је коначно додао подршку за интеллисенсе како у окну скрипте тако иу интерактивној конзоли.
Алтернативно, можете да користите ПоверСхелл користећи ПоверСхелл конзолу, што је оно што ћу користити за већину ових серија. ПоверСхелл конзола се понаша веома слично командној линији - једноставно уносите команде и испљувате резултате. Да бисте отворили конзолу Виндовс ПоверСхелл, поново притисните комбинацију тастатуре Вин + Р да бисте отворили оквир за покретање и укуцали поверсхелл, а затим притисните тастер ентер.
РЕПЛ подсетник као што је овај је одличан за инстант задовољење: уносите команду и добијате резултате. Иако конзола не нуди интелисенсе, она нуди нешто што се зове довршење табулатора, које функционише исто - једноставно почните да уносите команду и притисните таб да бисте кружили кроз могуће утакмице.
Коришћење система помоћи
У претходним верзијама ПоверСхелл-а, датотеке за помоћ су укључене када сте инсталирали Виндовс. То је у великој мери било добро решење, али нас је оставио значајан проблем. Када је ПоверСхелл тим за помоћ морао да престане да ради на датотекама помоћи, програмери ПоверСхелл-а су још увек били заузети кодирањем и прављењем измена. То је значило да када се ПоверСхелл испоручује, датотеке помоћи су нетачне јер нису садржавале нове измјене које су направљене у коду. Да би решио овај проблем, ПоверСхелл 3 долази без помоћи датотека из кутије и укључује помоћни систем који се може ажурирати. То значи да пре него што било шта урадите, желите да преузмете најновије датотеке помоћи. То можете урадити отварањем ПоверСхелл конзоле и покретањем:
Упдате-Хелп
Честитамо на покретању ваше прве наредбе ПоверСхелл! Истина је да команда Упдате-Хелп има много више опција него да је једноставно покрене, а да бисмо их видели, желимо да погледамо помоћ за команду. Да бисте погледали помоћ за команду, једноставно проследите име команде којој желите да помогнете параметру Наме у команди Гет-Хелп, на пример:
Гет-Хелп -Наме Упдате-Хелп
Вјероватно се питате како све то протумачити, мислим зашто постоје двије информације у одјељку синтаксе и зашто има толико заграда по цијелом мјесту? Прво: прво постоје два блока информација у секцији синтаксе јер представљају различите начине за покретање команде. То су технички названи скупови параметара и можете их користити само један по један (не можете мешати параметре из различитих скупова). На горњем снимку екрана можете видети да горњи скуп параметара има СоурцеПатх параметар док доњи не. Разлог је тај што бисте користили горњи скуп параметара (онај који укључује СоурцеПатх) ако сте ажурирали датотеке помоћи са друге машине на вашој мрежи која их је већ преузела, док вам не треба да наведете изворни пут ако само сам хтео да преузмем најновије Мицрософтове датотеке.
Да бисте одговорили на друго питање, постоји одређена синтакса коју следе датотеке за помоћ и овде је:
- Квадратне заграде око имена параметра и његовог типа значи да је то опциони параметар и да ће команда добро функционисати без ње.
- Квадратне заграде око назива параметара значе да су параметри позициони параметар.
- Ствар десно од параметра у угластим заградама говори вам о типу података који параметар очекује.
Иако би требало да научите да читате синтаксу датотеке помоћи, ако нисте сигурни о одређеном параметру, само додајте -Фулл до краја ваше команде за помоћ и померите се до одељка параметара, где ће вам рећи нешто више о сваком од њих параметар.
Гет-Хелп -Наме Упдате-Хелп-Фулл
Последња ствар коју требате знати о систему помоћи је како га можете користити за откривање наредби, што је заправо врло једноставно. Видите, ПоверСхелл прихваћа замјенске знакове готово било гдје, тако да их можете користити заједно са наредбом Гет-Хелп и лако ћете открити наредбе. На пример, тражим команде које се баве Виндовс услугама:
Услуга Гет-ХелпНаме *
Наравно, све ове информације можда нису погодне за шишмиша, али верујте ми, узмите времена и научите како да користите систем помоћи. Стално је корисно, чак и напредним писцима који ово раде годинама.
Безбедност
Ово не би био прави увод без спомињања сигурности. Највећа брига за ПоверСхелл тим је то што ПоверСхелл постаје најновија и највећа точка напада за сцрипт киддиес. Поставили су неколико сигурносних мјера како би осигурали да се то не догоди, па хајде да их погледамо.
Најосновнији облик заштите потиче од чињенице да екстензија ПС1 датотеке (проширење које се користи за означавање ПоверСхелл скрипте) није регистрирано са ПоверСхелл хостом, већ је заправо регистриран у Нотепаду. То значи да ако двапут кликнете на датотеку она ће се отворити нотепад-ом умјесто да ради.
Друго, не можете покренути скрипте из шкољке тако што ћете само откуцати име скрипте, морате навести пуну путању до скрипте. Дакле, ако желите да покренете скрипту на Ц диску, морате да унесете:
Ц: рунме.пс1
Или ако сте већ у корену Ц диска, можете користити следеће:
.рунме.пс1
Коначно, ПоверСхелл има нешто што се зове Политике извршавања, што вас спречава да покренете само стару скрипту. У ствари, подразумевано, не можете да покренете било коју скрипту и морате променити политику извршавања ако желите да им се дозволи да их покрећете. Постоје 4 значајна правила извршења:
- Ограничен: Ово је подразумевана конфигурација у ПоверСхелл-у. Ова поставка значи да се скрипт не може покренути, без обзира на његов потпис. Једина ствар која се може покренути у ПоверСхелл-у са овом поставком је појединачна наредба.
- АллСигнед: Ова поставка дозвољава покретање скрипти у ПоверСхелл-у. Скрипта мора имати придружени дигитални потпис од поузданог издавача. До покретања скрипти од поузданих издавача појавит ће се упит.
- РемотеСигнед: Ова поставка дозвољава покретање скрипти, али захтева да скрипта и конфигурационе датотеке које се преузимају са Интернета имају одговарајући дигитални потпис од поузданог издавача. Скрипте које се покрећу са локалног рачунара не морају бити потписане. Нема покретања скрипте.
- Неограничено: Омогућава покретање непотписаних скрипти, укључујући све скрипте и конфигурационе датотеке преузете са Интернета. Ово ће укључивати датотеке из програма Оутлоок и Мессенгер. Ризик овде је покретање скрипти без потписа или безбедности. Поново смо почели да нам никада нисте поставили ову поставку.
Да бисте видели шта је постављено на вашу тренутну политику извршавања, отворите ПоверСхелл конзолу и откуцајте:
Гет-ЕкецутионПолици
За овај курс и већину других околности, Политика РемотеСигнед је најбоља, па наставите и промијените своју политику користећи сљедеће.
Напомена: Ово ће морати да се уради са повишене ПоверСхелл конзоле.
Сет-ЕкецутионПолици РемотеСигнед
То је све за ово време, видимо се сутра за још мало ПоверСхелл забаве.
Одрицање од одговорности: Прави израз за наредбу ПоверСхелл је цмдлет, а од сада ћемо користити ову исправну терминологију. Било је прикладније назвати их командама за овај увод.
Ако имате било каквих питања, можете ме твеетати @таибгибб, или само оставити коментар.