PowerShell සමඟ වැඩ කරන විට, අපට මුලින්ම හමු වන්නේ විධාන (Cmdlets) ය.
විධාන ඇමතුම මේ වගේ ය:
Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]
උදව්
Get-Help විධානය භාවිතයෙන් PowerShell හි උදව් වෙත ප්රවේශ වේ. පරාමිති වලින් එකක් නියම කළ හැක: උදාහරණයක්, සවිස්තරාත්මක, සම්පූර්ණ, මාර්ගගත, showWindow.
Get-Help Get-Service -full විසින් Get-Service විධානයේ ක්රියාකාරිත්වය පිළිබඳ සම්පූර්ණ විස්තරය ලබා දෙනු ඇත.
Get-Help Get-S* Get-S* සමඟින් ආරම්භ වන සියලුම විධාන සහ කාර්යයන් පෙන්වයි
නිල Microsoft වෙබ් අඩවියේ සවිස්තරාත්මක ලියකියවිලි ද ඇත.
Get-Evenlog විධානය සඳහා උදාහරණ උපකාරයක් මෙන්න
පරාමිති වර්ග වරහන් [] තුළ කොටා තිබේ නම්, ඒවා විකල්ප වේ.
එනම්, මෙම උදාහරණයේ දී, ලොගයේ නමම අවශ්ය වන අතර, පරාමිතියෙහි නම අවශ්ය වේ
ඔබ EntryType පරාමිතිය දෙස බැලුවහොත්, ඔබට curly වරහන් තුළ කොටා ඇති අගයන් දැකිය හැකිය. මෙම පරාමිතිය සඳහා, අපට භාවිතා කළ හැක්කේ කැරලි වරහන් වල පූර්ව නිශ්චිත අගයන් පමණි.
පරාමිතිය අවශ්යද යන්න පිළිබඳ තොරතුරු අවශ්ය ක්ෂේත්රයේ පහත විස්තරයේ දැකිය හැකිය. ඉහත උදාහරණයේ, අවශ්ය වන්නේ අසත්ය ලෙස සකසා ඇති නිසා පසු ගුණාංගය විකල්පමය වේ. මීළඟට, අපට පෙනෙන්නේ එහි ප්රතිවිරුද්ධ නම් කරන ලද ස්ථාන ක්ෂේත්රයයි. මෙයින් අදහස් කරන්නේ ඔබට පරාමිතිය සඳහන් කළ හැක්කේ නමෙන් පමණක් බවයි, එනම්:
Get-EventLog -LogName Application -After 2020.04.26
LogName පරාමිතියෙහි නම වෙනුවට අංක 0 තිබූ බැවින්, මෙයින් අදහස් කරන්නේ අපට නමක් නොමැතිව පරාමිතිය වෙත යොමු විය හැකි නමුත් එය අපේක්ෂිත අනුපිළිවෙලෙහි සඳහන් කිරීමෙනි:
Get-EventLog Application -After 2020.04.26
අපි මෙම නියෝගය උපකල්පනය කරමු:
Get-EventLog -Newest 5 Application
අන්වර්ථ
ඒ නිසා අපිට PowerShell එකේ තියෙන console එකෙන් සාමාන්ය commands පාවිච්චි කරන්න පුළුවන් alias (Alias) තියෙනවා.
Set-Location විධානය සඳහා උදාහරණ අන්වර්ථයක් cd වේ.
එනම්, විධානය ඇමතීම වෙනුවට
Set-Location “D:”
අපට භාවිතා කළ හැකිය
cd “D:”
ඉතිහාසය
විධාන ඇමතුම්වල ඉතිහාසය බැලීමට, ඔබට Get-History භාවිතා කළ හැකිය
ඉතිහාසයෙන් විධානය ක්රියාත්මක කරන්න Invoke-History 1; ආයාචනා ඉතිහාසය 2
පැහැදිලි ඉතිහාසය
නල මාර්ගය
පවර්ෂෙල් හි නල මාර්ගයක් යනු පළමු ශ්රිතයේ ප්රතිඵලය දෙවැන්නට ලබා දීමයි. නල මාර්ගය භාවිතා කරන උදාහරණයක් මෙන්න:
Get-Verb | Measure-Object
නමුත් නල මාර්ගය වඩා හොඳින් අවබෝධ කර ගැනීම සඳහා, අපි සරල උදාහරණයක් ගනිමු. කණ්ඩායමක් ලැබුණා
Get-Verb "get"
ඔබ Get-Help Get-Verb -Full help ඇමතුවහොත්, ක්රියාපද පරාමිතිය pipline input ගන්නා බවත් ByValue වරහන් තුළ ලියා ඇති බවත් අපට පෙනෙනු ඇත.
මෙයින් අදහස් කරන්නේ අපට Get-Verb "get" "get" වෙත නැවත ලිවිය හැකි බවයි GetVerb.
එනම්, පළමු ප්රකාශනයේ ප්රතිඵලය තන්තුවක් වන අතර එය අගය අනුව pipline ආදානය හරහා Get-Verb විධානයේ ක්රියා පරාමිතිය වෙත යවනු ලැබේ.
එසේම නල මාර්ග ආදානය 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{
}
මූලාශ්රය: www.habr.com