PowerShell սկսնակների համար

PowerShell-ի հետ աշխատելիս առաջին բանը, որին մենք հանդիպում ենք, հրամաններն են (Cmdlets):
Հրամանի կանչն ունի հետևյալ տեսքը.

Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]

Օգնություն

Օգնությունը հասանելի է PowerShell-ում՝ օգտագործելով Get-Help հրամանը: Դուք կարող եք նշել պարամետրերից մեկը՝ օրինակ, մանրամասն, ամբողջական, առցանց, showWindow:

Get-Help Get-Service -full-ը կվերադարձնի ամբողջական նկարագրությունը, թե ինչպես է աշխատում Get-Service հրամանը
Get-Help Get-S*-ը ցույց կտա բոլոր հասանելի հրամաններն ու գործառույթները՝ սկսած Get-S*-ից։

Մանրամասն փաստաթղթեր կան նաև Microsoft-ի պաշտոնական կայքում:

Ահա Get-Evenlog հրամանի օգնության օրինակ

PowerShell սկսնակների համար

Եթե ​​պարամետրերը փակցված են քառակուսի փակագծերում [], ապա դրանք պարտադիր չեն:
Այսինքն՝ այս օրինակում ամսագրի անվանումն ինքնին պարտադիր է, իսկ պարամետրի անվանումը Ոչ Եթե ​​պարամետրի տեսակը և նրա անվանումը փակագծերում են միասին, ապա պարամետրը պարտադիր չէ:

Եթե ​​նայեք EntryType պարամետրին, կարող եք տեսնել այն արժեքները, որոնք փակցված են գանգուր փակագծերում: Այս պարամետրի համար մենք կարող ենք օգտագործել միայն նախապես սահմանված արժեքները գանգուր փակագծերում:

Մենք կարող ենք տեղեկատվություն տեսնել այն մասին, թե արդյոք պարամետրը պահանջվում է ստորև ներկայացված նկարագրության մեջ Պահանջվող դաշտում: Վերոնշյալ օրինակում After հատկանիշը կամընտիր է, քանի որ Required-ը սահմանված է false: Հաջորդը մենք տեսնում ենք «Դիրք» դաշտը, որի դիմաց գրված է «Անունով»: Սա նշանակում է, որ պարամետրը կարող է մուտք գործել միայն անունով, այսինքն.

Get-EventLog -LogName Application -After 2020.04.26

Քանի որ LogName պարամետրը Named-ի փոխարեն նշել է 0 թիվը, սա նշանակում է, որ մենք կարող ենք մուտք գործել պարամետր առանց անվանման, բայց այն նշելով պահանջվող հաջորդականությամբ.

Get-EventLog Application -After 2020.04.26

Ենթադրենք այս կարգը.

Get-EventLog -Newest 5 Application

Ծածկանուն

Որպեսզի մենք կարողանանք օգտագործել վահանակից ծանոթ հրամաններ, PowerShell-ն ունի այլանուններ (Alias):

Set-Location հրամանի անունն է cd:

Այսինքն՝ հրամանը կանչելու փոխարեն

Set-Location “D:”

մենք կարող ենք օգտագործել

cd “D:”

պատմություն

Հրամանների զանգերի պատմությունը դիտելու համար կարող եք օգտագործել Get-History-ը

Կատարել հրաման պատմությունից Invoke-History 1; Զանգահարել-Պատմություն 2

Մաքրել պատմությունը Clear-History

Խողովակաշար

Powershell-ում խողովակաշարն այն է, երբ առաջին ֆունկցիայի արդյունքը փոխանցվում է երկրորդին: Ահա խողովակաշարի օգտագործման օրինակ.

Get-Verb | Measure-Object

Բայց խողովակաշարն ավելի լավ հասկանալու համար եկեք ավելի պարզ օրինակ բերենք: Կա թիմ

Get-Verb "get"

Եթե ​​օգնություն կանչենք Get-Help Get-Verb -Full, ապա կտեսնենք, որ Verb պարամետրն ընդունում է խողովակաշարի մուտքագրումը, իսկ ByValue-ը գրված է փակագծերում:

PowerShell սկսնակների համար

Սա նշանակում է, որ մենք կարող ենք Get-Verb «get» վերաշարադրել «get» | Ստանալ-Բայ.
Այսինքն՝ առաջին արտահայտության արդյունքը տող է և այն փոխանցվում է Get-Verb հրամանի Verb պարամետրին՝ pipline մուտքագրման միջոցով ըստ արժեքի։
Նաև խողովակաշարի մուտքագրումը կարող է լինել ByPropertyName: Այս դեպքում մենք կփոխանցենք մի օբյեկտ, որն ունի նմանատիպ Բայ անունով հատկություն։

Փոփոխականների

Փոփոխականները խիստ տպագրված չեն և նշված են դիմացի $ նշանով

$example = 4

> նշանը նշանակում է մուտքագրել տվյալներ
Օրինակ՝ $example > File.txt
Այս արտահայտությամբ մենք $example փոփոխականից տվյալները կտեղադրենք ֆայլի մեջ
Նույնը, ինչ Set-Content -Value $example -Path File.txt

Մուլտեր

Զանգվածի սկզբնավորում.

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

Դատարկ զանգվածի սկզբնավորում.

$ArrayExample = @()

Արժեքի ստացում ըստ ինդեքսի.

$ArrayExample[0]

Ստացեք ամբողջ զանգվածը.

$ArrayExample

Տարր ավելացնելով.

$ArrayExample += “Third”

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

Դասավորել ըստ:

$ArrayExample | Sort

$ArrayExample | Sort -Descending

Բայց զանգվածն ինքնին մնում է անփոփոխ այս տեսակավորման ժամանակ։ Եվ եթե ցանկանում ենք, որ զանգվածն ունենա տեսակավորված տվյալներ, ապա մենք պետք է դասավորված արժեքներ նշանակենք.

$ArrayExample = $ArrayExample | Sort

PowerShell-ի զանգվածից տարրը հեռացնելու փաստացի միջոց չկա, բայց կարող եք դա անել այսպես.

$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{
}

Source: www.habr.com

Добавить комментарий