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 параметрин карасаңыз, анда тармал кашаалардын ичинде камтылган маанилерди көрө аласыз. Бул параметр үчүн биз тармал кашааларда алдын ала аныкталган маанилерди гана колдоно алабыз.
Параметр талап кылынабы же жокпу деген маалыматты төмөнкү сүрөттөмөдөн Керектүү талаада көрүүгө болот. Жогорудагы мисалда, кийин атрибуту милдеттүү эмес, анткени 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деги консолдон кадимки буйруктарды колдоно алышыбыз үчүн, лакап аттар (Алиас) бар.
Жайгашкан жерди коюу буйругуна мисал лакап ат cd болуп саналат.
Башкача айтканда, буйрукту чакыруунун ордуна
Set-Location “D:”
Биз колдоно алабыз
cd “D:”
тарых
Буйрук чалууларынын тарыхын көрүү үчүн Get-History колдонсоңуз болот
Тарыхтан буйрукту аткаруу Invoke-History 1; Тарыхты чакыруу 2
Тарыхты тазалоо
түтүк
Powershell ичиндеги түтүк - бул биринчи функциянын натыйжасы экинчисине өткөндө. Бул жерде куурду колдонуунун бир мисалы болуп саналат:
Get-Verb | Measure-Object
Бирок куурду жакшыраак түшүнүү үчүн жөнөкөй бир мисалды алалы. Команда бар
Get-Verb "get"
Эгер сиз Get-Help Get-Verb -Full help деп чалсаңыз, анда Verb параметри pipline киргизүүнү кабыл алаарын жана ByValue кашаанын ичинде жазылганын көрөбүз.
Бул биз Get-Verb "get" дегенди "алууга" кайра жаза алабыз дегенди билдирет GetVerb.
Башкача айтканда, биринчи туюнтуунун натыйжасы сап болуп саналат жана ал Get-Verb буйругунун Verb параметрине маани боюнча pipline киргизүү аркылуу өткөрүлөт.
Ошондой эле контур киргизүү ByPropertyName болушу мүмкүн. Бул учурда, биз окшош аталышы Verb менен касиетке ээ болгон объектти өткөрөбүз.
Variables
Өзгөрмөлөр катуу терилген эмес жана алдында $ белгиси менен көрсөтүлөт
$example = 4
> символу маалыматтарды киргизүүнү билдирет
Мисалы, $example > File.txt
Бул туюнтма менен биз $example өзгөрмөсүндөгү маалыматтарды файлга салабыз
Set-Content -Value $example -Path File.txt сыяктуу
Arrays
Массивди инициализациялоо:
$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
Loops
Цикл синтаксиси:
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