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 հրամանի օգնության օրինակ
Եթե պարամետրերը փակցված են քառակուսի փակագծերում [], ապա դրանք պարտադիր չեն:
Այսինքն՝ այս օրինակում ամսագրի անվանումն ինքնին պարտադիր է, իսկ պարամետրի անվանումը
Եթե նայեք 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-ը գրված է փակագծերում:
Սա նշանակում է, որ մենք կարող ենք 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