29Aug

Геек школа: научите како да користите послове у ПоверСхелл-у

click fraud protection

ПоверСхелл има четири врсте послова - Бацкгроунд Јобс, Ремоте Јобс, ВМИ Јобс и Сцхедулед Јобс.Придружи нам се док сазнамо шта су и како их можемо користити.

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

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

И остати подешен до краја читаве седмице.

Позадински радови

До сада је све што сам вам показао у оквиру ПоверСхелл-а било синхроно, што значи да уносимо нешто у љуску и стварно не можемо пуно учинити све док се та команда не заврши.Овде се појављују позадински радници. Да бисте покренули позадину, посао једноставно пропушта блок скрипта у цмдлет Старт-Јоб.

Старт-Јоб -Наме ГетФилеЛист -Сцриптблоцк{ Гет-ЦхилдИтем Ц: \ -Рецурсе}

instagram viewer

Сада смо слободни да радимо све што желимо унутар љуске док тај блок скрипта извршава у позадини.

Када започнете нови посао, ПоверСхелл креира нови објекат посла који представља тај посао.Можете добити листу свих радних мјеста у било ком тренутку тако што ћете покренути цмдлет Гет-Јоб.

Објектни објекти говоре о статусу послова.На примјер, у горњој сцреенсхот-у видимо да имамо БацкгроундЈоб назван ГетФилеЛист који се и даље покреће, али је већ започео враћање података.Ако у било ком тренутку одлучите да се посао покреће предуго, можете га једноставно зауставити тако што ћете га довести до Стоп-Јоб-а.

Гет-Јоб -Наме ГетФилеЛист |Стоп-Јоб

Међутим, након што сте зауставили посао, све податке које је примио до тачке које сте зауставили је још увек на располагању.Мада је ипак готово.У ПоверСхелл-у, када добијете резултате за посао, они се бришу.Да би они остали, морате навести параметар држања прекидача Рецеиве-Јоб.

Гет-Јоб -Наме ГетФилеЛист |Рецеиве-Јоб -Кееп

Када завршите са послом, најбоље је да је уклоните.Да бисте уклонили посао, једноставно га усмерите у цмдлет Ремове-Јоб.

Гет-Јоб -Наме ГетФилеЛист |Ремове-Јоб

Ово ће га уклонити са листе послова које враћају Гет-Јоб.

удаљени послови

Пре неколико лекција смо погледали како можемо да користимо ремотинг да извршавамо ПоверСхелл наредбе на удаљеној машини користећи Инвоке-Цомманд, али да ли сте знали да можете користити и Инвоке-Цомманд за покретање посла који се налази у позадини?Да бисте то урадили, једноставно додајте параметар -АсЈоб на крај ваше команде:

Инвоке-Цомманд-Цомпутер-Наме Фласх, Випер -Цредентиал администратор -СцриптБлоцк{ гци} -АсЈоб

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

Хмм, изгледа да није успео.Ово ме доводи на мој први посао са посла.Када креирате нови посао било које врсте у програму ПоверСхелл, он ствара један матични посао као додатак једном детету за сваки рачунар на коме радите посао.Када користите цмдлет Гет-Јоб, он вам приказује само родитељске задатке, а државна својина је најгори сценарио, што значи да чак и ако се команда не покрене само на једном од стотину рачунара, држава родитељског посла ће рећиније успео.Да бисте видели листу детских послова, морате користити параметар ИнцлудеЦхилдЈоб.

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

Постоје два начина да се око овога оствари.Прво, ако знате за које рачунаре желите резултате, једноставно можете користити параметар ЦомпутерНаме у цмдлету Рециеве -Јоб.

Гет-Јоб -Ид 3 |Рецеиве-Јоб -Кееп -ЦомпутерНаме Випер

Као алтернативу, можете добити резултате од одређеног детињског посла користећи свој ИД задатка.

Гет-Јоб -Ид 3 -ИнцлудеЦхилдЈоб

Гет-Јоб -Ид 5 |Рецеиве-Јоб -Кееп

ВМИ Послови

ВМИ Послови су приближно исти као и Ремоте Јобс, који захтевају само додавање параметара -АсЈоб у цмдлет Гет-ВмиОбјецт.

Нажалост, то значи да су и они подложни истом стању које сам поменуо у одељку "Даља посла".

Заказани послови

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

Регистер-СцхедуледЈоб -Наме ГетЕвентЛогс -СцриптБлоцк{ Гет-ЕвентЛог -ЛогНаме Сецурити -Невест 100} -Триггер( Нев-ЈобТриггер -Даили -Ат 5пм) -СцхедуледЈобОптион( Нев-СцхедуледЈобОптион-РунЕлеватед)

У тој команди се доста догадја, па хајде да га прекинемо.

  • Прво, нашем планираном задатку дамо име ГетЕвентЛогс-а.
  • Ми онда кажемо да када се активира, желимо да покреће садржај специфицираног блока скрипта, који у основи добија најновије 100 ставки дневника Сигурност догађаја.
  • Даље, одређујемо окидач.С обзиром да параметар окидача користи улазни погон, користили смо наредбу за подмлађивање како бисмо генерисали окидач који ће се обуставити сваки дан у 5 сати.
  • Пошто се бавимо логом догађаја, морамо да покренемо као администратор, који можемо одредити стварањем новог СцхедуледЈобОптион објекта и преношењем на СцхедуледЈобОптион параметар.

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

Гет-СцхедуледЈоб

То је све што има за то.