Yangi boshlanuvchilar uchun PowerShell

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

Yangi boshlanuvchilar uchun PowerShell

Parametrlar kvadrat qavs [] ichiga olingan bo'lsa, ular ixtiyoriydir.
Ya'ni, bu misolda jurnalning o'zi va parametr nomi talab qilinadi Yo'q. Agar parametr turi va uning nomi birga qavs ichiga olingan bo'lsa, bu parametr ixtiyoriydir.

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.

Yangi boshlanuvchilar uchun PowerShell

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

a Izoh qo'shish