PowerShell bilan ishlashda biz duch keladigan birinchi narsa buyruqlar (Cmdlets).
Buyruqning chaqiruvi quyidagicha ko'rinadi:
Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]
Yordam bering
PowerShell-dagi yordamga Get-Help buyrug'i yordamida kirish mumkin. Parametrlardan birini ko'rsatish mumkin: misol, batafsil, to'liq, onlayn, showWindow.
Get-Help Get-Service -full Get-Service buyrug'i ishlashining to'liq tavsifini qaytaradi.
Get-Help Get-S* Get-S* bilan boshlangan barcha mavjud buyruq va funksiyalarni ko‘rsatadi.
Rasmiy Microsoft veb-saytida batafsil hujjatlar ham mavjud.
Mana Get-Evenlog buyrug'i uchun yordam namunasi
Parametrlar kvadrat qavs [] ichiga olingan bo'lsa, ular ixtiyoriydir.
Ya'ni, bu misolda jurnalning o'zi va parametr nomi talab qilinadi
EntryType parametriga qarasangiz, jingalak qavslar ichiga olingan qiymatlarni ko'rishingiz mumkin. Ushbu parametr uchun biz faqat jingalak qavslarda oldindan belgilangan qiymatlardan foydalanishimiz mumkin.
Parametr talab qilinadimi yoki yo'qligi haqidagi ma'lumotni quyidagi tavsifda "Zarur" maydonida ko'rish mumkin. Yuqoridagi misolda After atributi ixtiyoriy, chunki Required false qiymatiga o‘rnatilgan. So'ngra, biz "Position" maydonini ko'ramiz. Bu shuni anglatadiki, siz parametrga faqat nom bilan murojaat qilishingiz mumkin, ya'ni:
Get-EventLog -LogName Application -After 2020.04.26
LogName parametrida Named o'rniga 0 raqami bo'lganligi sababli, biz parametrga nomsiz murojaat qilishimiz mumkin, lekin uni kerakli ketma-ketlikda ko'rsatish orqali:
Get-EventLog Application -After 2020.04.26
Keling, bu tartibni faraz qilaylik:
Get-EventLog -Newest 5 Application
afsus
PowerShell-da konsoldagi odatiy buyruqlardan foydalanishimiz uchun taxalluslar (taxalluslar) mavjud.
Joylashuvni o'rnatish buyrug'i uchun taxallusga misol cd.
Ya'ni, buyruqni chaqirish o'rniga
Set-Location “D:”
foydalanishimiz mumkin
cd “D:”
tarix
Buyruq chaqiruvlari tarixini ko'rish uchun Get-History-dan foydalanishingiz mumkin
Tarixdan buyruqni bajarish Invoke-History 1; Tarixni chaqirish 2
Tarixni tozalash
quvuri
Powershell-dagi quvur liniyasi birinchi funktsiyaning natijasi ikkinchisiga o'tkazilganda. Quyida quvur liniyasidan foydalanish misoli keltirilgan:
Get-Verb | Measure-Object
Ammo quvur liniyasini yaxshiroq tushunish uchun oddiyroq misolni olaylik. Jamoa bor
Get-Verb "get"
Agar siz Get-Help Get-Verb -Full help-ga qo'ng'iroq qilsangiz, fe'l parametri pipline kiritishni qabul qilishini va ByValue qavs ichida yozilganligini ko'ramiz.
Bu shuni anglatadiki, Get-Ferb "get" ni "olish" ga qayta yozishimiz mumkin | GetFel.
Ya'ni, birinchi ifodaning natijasi satr bo'lib, u qiymat bo'yicha chiziqli kiritish orqali Get-Verb buyrug'ining Fe'l parametriga o'tkaziladi.
Shuningdek, quvur liniyasi kiritish ByPropertyName bo'lishi mumkin. Bunday holda, Fe'l nomiga o'xshash xususiyatga ega bo'lgan ob'ektni o'tkazamiz.
Argumentlar
O'zgaruvchilar qattiq yozilmagan va oldida $ bilan ko'rsatilgan
$example = 4
> belgisi ma'lumotlarni kiritishni bildiradi
Masalan, $example > File.txt
Ushbu ifoda yordamida biz $example o'zgaruvchisi ma'lumotlarini faylga joylashtiramiz
Set-Content -Value $misol -Path File.txt bilan bir xil
Arrays
Massivni ishga tushirish:
$ArrayExample = @(“First”, “Second”)
Bo'sh massivni ishga tushirish:
$ArrayExample = @()
Indeks bo'yicha qiymat olish:
$ArrayExample[0]
Butun massivni oling:
$ArrayExample
Element qo'shish:
$ArrayExample += “Third”
$ArrayExample += @(“Fourth”, “Fifth”)
Tartiblash:
$ArrayExample | Sort
$ArrayExample | Sort -Descending
Lekin massivning o'zi bu saralash bilan o'zgarishsiz qoladi. Va agar biz massivda saralangan ma'lumotlarga ega bo'lishini istasak, unda tartiblangan qiymatlarni belgilashimiz kerak:
$ArrayExample = $ArrayExample | Sort
PowerShell-da massivdan elementni olib tashlashning hech qanday usuli yo'q, lekin buni shunday qilishingiz mumkin:
$ArrayExample = $ArrayExample | where { $_ -ne “First” }
$ArrayExample = $ArrayExample | where { $_ -ne $ArrayExample[0] }
Massivni olib tashlash:
$ArrayExample = $null
Loops
Loop sintaksisi:
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){}
Tanaffus tsiklidan chiqing.
Davom etish elementini o'tkazib yuboring.
Shartli bayonotlar
if () {} elseif () {} else
switch($someIntValue){
1 { “Option 1” }
2 { “Option 2” }
default { “Not set” }
}
vazifa
Funktsiya ta'rifi:
function Example () {
echo &args
}
Funktsiyani ishga tushirish:
Example “First argument” “Second argument”
Funktsiyada argumentlarni aniqlash:
function Example () {
param($first, $second)
}
function Example ($first, $second) {}
Funktsiyani ishga tushirish:
Example -first “First argument” -second “Second argument”
Istisno
try{
} catch [System.Net.WebException],[System.IO.IOException]{
} catch {
} finally{
}
Manba: www.habr.com