ПоверСһелл за почетнике

Када радимо са ПоверСһелл-ом, прва ствар на коју наилазимо су команде (Цмдлетс).
Позив команде изгледа овако:

Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]

Помоћ

Помоћи у ПоверСһелл-у се приступа помоћу команде Гет-Һелп. Може се навести један од параметара: пример, детаљан, пун, онлајн, сһовВиндов.

Гет-Һелп Гет-Сервице -фулл ће вратити пун опис рада команде Гет-Сервице
Гет-Һелп Гет-С* ће показати све доступне команде и функције почевши од Гет-С*

Такође постоји детаљна документација на званичном сајту Мицрософт-а.

Ево примера помоћи за команду Гет-Евенлог

ПоверСһелл за почетнике

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

Ако погледате параметар ЕнтриТипе, можете видети вредности које су затворене у витичасте заграде. За овај параметар можемо користити само унапред дефинисане вредности у витичастим заградама.

Информације о томе да ли је параметар обавезан можете видети у опису испод у пољу Обавезно. У горњем примеру, атрибут Афтер је опционалан јер је Рекуиред постављен на нетачно. Затим видимо поље Поситион насупрот којем пише Именовано. То значи да се на параметар можете позивати само по имену, то јест:

Get-EventLog -LogName Application -After 2020.04.26

Пошто је параметар ЛогНаме имао број 0 уместо Намед, то значи да се можемо позвати на параметар без имена, али тако што ћемо га навести у жељеном низу:

Get-EventLog Application -After 2020.04.26

Претпоставимо овај редослед:

Get-EventLog -Newest 5 Application

псеудоним

Да бисмо могли да користимо уобичајене команде са конзоле у ​​ПоверСһелл-у, постоје алиаси (Алиас).

Пример алиаса за команду Сет-Лоцатион је цд.

То јест, уместо позивања команде

Set-Location “D:”

можемо да користимо

cd “D:”

историја

Да бисте видели историју командниһ позива, можете користити Гет-Һистори

Изврши команду из историје Инвоке-Һистори 1; Позовите историју 2

Очисти историју

Цевовод

Цевовод у поверсһелл-у је када се резултат прве функције прослеђује другој. Ево примера коришћења цевовода:

Get-Verb | Measure-Object

Али да бисмо боље разумели цевовод, узмимо једноставнији пример. Имам тим

Get-Verb "get"

Ако позовете Гет-Һелп Гет-Верб -Фулл помоћ, тада ћемо видети да параметар Верб узима улазни улаз и БиВалуе је написано у заградама.

ПоверСһелл за почетнике

То значи да можемо преписати Гет-Глагол "гет" у "гет" | ГетВерб.
Односно, резултат првог израза је стринг и он се прослеђује параметру Верб команде Гет-Верб путем уноса по вредности.
Унос цевовода такође може бити БиПропертиНаме. У овом случају ћемо проследити објекат који има својство са сличним именом Глагол.

Варијабле

Променљиве нису строго откуцане и наведене су са $ испред

$example = 4

Симбол > значи унос података
На пример, $екампле > Филе.ткт
Са овим изразом, ставићемо податке из променљиве $екампле у датотеку
Исто као Сет-Цонтент -Валуе $екампле -Патһ Филе.ткт

Арраис

Иницијализација низа:

$ArrayExample = @(“First”, “Second”)

Иницијализација празног низа:

$ArrayExample = @()

Добијање вредности по индексу:

$ArrayExample[0]

Узми цео низ:

$ArrayExample

Додавање елемента:

$ArrayExample += “Third”

$ArrayExample += @(“Fourth”, “Fifth”)

Сортирање:

$ArrayExample | Sort

$ArrayExample | Sort -Descending

Али сам низ остаје непромењен са овим сортирањем. А ако желимо да низ има сортиране податке, онда морамо да доделимо сортиране вредности:

$ArrayExample = $ArrayExample | Sort

Не постоји начин да уклоните елемент из низа у ПоверСһелл-у, али то можете учинити овако:

$ArrayExample = $ArrayExample | where { $_ -ne “First” }

$ArrayExample = $ArrayExample | where { $_ -ne $ArrayExample[0] }

Уклањање низа:

$ArrayExample = $null

Лоопс

Синтакса петље:

for($i = 0; $i -lt 5; $i++){}

$i = 0
while($i -lt 5){}

$i = 0
do{} while($i -lt 5)

$i = 0
do{} until($i -lt 5)

ForEach($item in $items){}

Изађите из прекидне петље.

Прескочите наставак елемента.

Условне изјаве

if () {} elseif () {} else

switch($someIntValue){
  1 { “Option 1” }
  2 { “Option 2” }
  default { “Not set” }
}

функција

Дефиниција функције:

function Example () {
  echo &args
}

Покретање функције:

Example “First argument” “Second argument”

Дефинисање аргумената у функцији:

function Example () {
  param($first, $second)
}

function Example ($first, $second) {}

Покретање функције:

Example -first “First argument” -second “Second argument”

Изузетак

try{
} catch [System.Net.WebException],[System.IO.IOException]{
} catch {
} finally{
}

Извор: ввв.хабр.цом

Додај коментар