Ҳангоми кор бо 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 ба нодуруст муқаррар карда шудааст. Баъдан, мо майдони Мавқеъро дар муқобили он мебинем, ки ном дорад. Ин маънои онро дорад, ки ба параметр танҳо бо ном дастрас шудан мумкин аст, яъне:
Get-EventLog -LogName Application -After 2020.04.26
Азбаски параметри LogName ба ҷои Номдор рақами 0-ро дошт, ин маънои онро дорад, ки мо метавонем ба параметр бидуни ном дастрасӣ пайдо кунем, аммо бо нишон додани он бо пайдарпаии лозимӣ:
Get-EventLog Application -After 2020.04.26
Биёед ин тартибро фарз кунем:
Get-EventLog -Newest 5 Application
номи кӯтоҳшуда
Барои он ки мо метавонем фармонҳои шиносро аз консол истифода барем, PowerShell дорои тахаллусҳо (тахаллус) дорад.
Намунаи тахаллус барои фармони Set-Location 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 вуруди пиплинро қабул мекунад ва ByValue дар қавс навишта шудааст.
Ин маънои онро дорад, ки мо метавонем Get-Verb "get" -ро ба "даст" | Гирифтан-феъли.
Яъне, натиљаи ифодаи аввал сатр аст ва он ба параметри Verb-и фармони Get-Verb тавассути вуруди пиплин аз рўи арзиш гузаронида мешавад.
Инчунин вуруди қубур метавонад ByPropertyName бошад. Дар ин ҳолат, мо объектеро мегузарем, ки дорои амвол бо номи шабеҳи Verb.
Тағирдиҳандаҳо
Тағйирёбандаҳо сахт чоп карда намешаванд ва бо аломати $ дар пеш нишон дода мешаванд
$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
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{
}
Манбаъ: will.com