15Jul

Геек Сцхоол: Научите како да аутоматизујете Виндовс ПоверСхелл

У овом издању Геек школе помаћемо вам да разумете моћни ПоверСхелл скриптни језик који је уграђен у Виндовс и веома је корисно знати у ИТ окружењу.

Док ова серија није структурисана око испита, учење ПоверСхелл-а је једна од најважнијих ствари које можете учинити као мрежни администратор, па ако постоји једна ствар коју желите научити да помогнете својој ИТ каријери, то је то.Плус, то је забавно.

Увод

ПоверСхелл је најмоћнији алат за аутоматизацију коју Мицрософт нуди, а то је и схелл и скриптни језик.

Имајте на уму да је ова серија заснована на ПоверСхелл 3, који се испоручује са Виндовс 8 и Сервером 2012. Ако користите Виндовс 7, пре него што наставите, преузмите ПоверСхелл 3 ажурирање.

Упознајте конзолу и ИСЕ

Постоје два начина интеракције са ПоверСхелл-ом из кутије, конзоле и интегрисаног скриптинг окружења - такође познатог као ИСЕ.ИСЕ се значајно побољшао од ужасне верзије која је испоручена са ПоверСхелл 2 и може се отворити притиском комбинације тастера Вин + Р да би се покренула поље за покретање, а затим уносите поверсхелл_исе и притисните ентер.

Као што можете видети ИСЕ спортски приказ, тако да можете брзо скриптирати, док још увек можете да видите резултат у доњој половини ИСЕ-а.Доња половина ИСЕ-а, у којој се штампају резултати вашег скрипта, такође се може користити као РЕПЛ промпта - слично као командна линија.В3 ИСЕ је коначно додао подршку за интеллисенсе у оба скрипта као и на интерактивну конзолу.

Алтернативно, можете повезати ПоверСхелл користећи ПоверСхелл конзолу, што је оно што ћу користити за већину ове серије.ПоверСхелл конзола понаша се слично као командни позив - једноставно уносите команде и излази из резултата.Да бисте отворили Виндовс ПоверСхелл конзолу, поново притисните комбинацију тастера Вин + Р да бисте отворили поље за покретање и укуцајте поверхелл и притисните ентер.

РЕПЛ подразумева оваква упутства за тренутачно задовољство: уносите команду и добијате резултате.Иако конзола не нуди интеллисенсе, она нуди нешто што се зове заврсетак табова који функционише исто толико - једноставно почните да куцате команду и притиснете таб да бисте кружили кроз могуће утакмице.

Коришћење система помоћи

У прошлим верзијама ПоверСхелл-а датотеке помоћи су укључене приликом инсталације Виндовса.То је било добро решење већином, али смо оставили значајан проблем.Када је ПоверСхелл тим за помоћ морао престати да ради на датотекама помоћи, ПоверСхелл програмери су и даље били заузети кодирањем и прављењем промена.Ово је значило да када је ПоверСхелл испоручен, датотеке помоћи су биле нетачне јер нису садржавале нове измене које су направљене коду.Да би решио овај проблем, ПоверСхелл 3 долази без помоћи помоћу датотеке и укључује систем за помоћ који се може ажурирати.Ово значи да пре него урадите нешто што ћете желети да преузмете најновије датотеке помоћи.То можете урадити отварањем ПоверСхелл конзоле и покретањем:

Упдате-Хелп

Честитамо вам на покретању прве ПоверСхелл команде!Истина је да команда Упдате-Хелп има много више опција него што га једноставно покреће и да их видимо, желимо да погледамо помоћ за команду.Да бисте погледали помоћ за наредбу, једноставно прођете име команде коју желите помоћ помоћу параметра Наме у Гет-Хелп команди, на пример:

Гет-Хелп -Наме Упдате-Помоћ

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

Да бисте одговорили на друго питање, постоји одређена синтакса која помаже фајлима да следи и овде је:

  • Квадратне заграде око имена параметра и његовог типа значи да је то опциони параметар и команда ће радити без проблема.
  • Квадратне заграде око имена параметара значе да су параметри параметри положаја.
  • Ствар десно од параметра у угловој загради говори вам о типу података за који очекује параметар.

Док би требало да научите да читате синтаксу помоћи за помоћ, ако сте икада сигурни у одређеном параметру само додајте - Потпуно до краја вашег помоћ помоћу команде и померите се доле до одељка за параметре, где ће вам то рећи нешто више осваки параметар.

Гет-Хелп -Наме Упдате-Хелп -Фулл

Последња ствар коју требате знати о систему помоћи је како га можете користити да бисте открили команде, што је заправо врло лако.Видите, ПоверСхелл прихвата џокерове скоро било гдје, тако да их употреба заједно са наредбом Гет-Хелп омогућава лако откривање команди.На пример, тражим команде које се баве Виндовс сервисима:

Гет-Хелп -Наме * услуга *

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

Сецурити

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

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

Друго, не можете покренути скрипте из љуске само укуцавањем имена скрипте, морате навести пуну путању до скрипте.Дакле, ако сте хтели да покренете скрипт на вашем погону Ц, требали бисте да откуцате:

Ц: \ рунме.пс1

Или ако сте већ у корену погона Ц можете користити сљедеће:

. \ Рунме.пс1

Коначно, ПоверСхелл има нешто што се зове Изведбена правила, што вас спречава да покренете било који стари скрипт.У ствари, подразумевано, не можете покренути никакве скрипте и требате промијенити политику извршавања ако желите да им се дозволи да их покренете.Постоји 4 значајна правила извршења:

  • ограничен : Ово је подразумевана конфигурација у ПоверСхелл-у.Ово подешавање значи да се не може покренути никаква скрипта, без обзира на његов потпис.Једина ствар која се може покренути у ПоверСхелл-у са овим поставкама је индивидуална команда.
  • АллСигнед: Ова поставка дозвољава да се скрипте покрену у ПоверСхелл-у.Скрипт мора имати придружени дигитални потпис од поузданог издавача.Пре него што покренете скрипте од поузданих издавача, биће упит.
  • РемотеСигнед : Ово подешавање омогућава покретање скрипте, али захтева да скрипта и конфигурацијске датотеке које се преузму са Интернета имају придружени дигитални потпис од поузданог издавача.Скрипте које се покрећу са локалног рачунара не морају бити потписане.Пре покретања скрипте нема упита.
  • Неограничен : Ово омогућава покретање непотписаних скрипте, укључујући све скрипте и конфигурацијске датотеке преузете са Интернета.Ово ће садржати датотеке из програма Оутлоок и Мессенгер.Ризик овде покреће скрипте без икаквог потписа или сигурности.Поново смо рекли да нас никада не постављате.

Да бисте видели коју је актуелну Екецутион Полици подешену, отворите ПоверСхелл конзолу и откуцајте:

Гет-ЕкецутионПолици

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

​​Напомена: Ово ће бити потребно урадити са повишене ПоверСхелл конзоле.

Сет-ЕкецутионПолици РемотеСигнед

То је све за овај пут људи, видимо се сутра за још више забаве ПоверСхелл-а.

Одрицање одговорности: Прави израз за команду ПоверСхелл је цмдлет, а од сада ћемо користити ову исправну терминологију.Једноставно се сматрало одговарајућим да их именују команде за овај увод.

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