PowerShell ඉගෙන ගනිමු – 2

PowerShell ඉගෙන ගනිමු – 2

825
1
SHARE

අපි අපේ පලවෙනි ලිපියෙන් කතා කලේ Powershell වල තියෙන බොහොම basic කරුණු කිහිපයක්. අපි පලවෙනි ලිපියේ කීවා වගේම අපි මේකේ කතා කරනවා කොහොමද Pipeline භාවිත කරන්නේ, Scripting කරන්නේ කොහොමද, මේකේ versions කියක් ආවද වගේ දේවල්.

Powershell වල මුලිකම සංකල්ප වලින් එකක් තමයි pipeline කියන්නේ. මේකෙදි වෙන්නේ cmdlet එකක output එකක් තවත් cmdlet  එකක input එකක් විදිහට පයිප්ප ගත වෙන එක. මේක ටිකක් පැහැදිලි වෙන විදිහේ උදාහරණයක් කිවොත් Get-Process එකේ cmdlet එකේ output එකක්, piped එහෙමත් නැත්නම් පයිප්ප ගත කරන්න පුළුවන් Where-Object එකට filter කිරීම සඳහා. මේකෙන් filter වෙන්නේ 1MB වලට වඩා අඩු paged memory සොයාගන්න. මේකෙන් filter වුනු output එකක් Sort-Object cmdlet එකට piped වෙනවා සහ අවසානයේදී Select-Object cmdlet එකට piped වෙලා count එක මත මුල් අගයන් 10 select කරගන්නවා. අපි Unix Pipelines වලට ආවොත් PowerShell pipelines වලින් පුළුවන් complex commands construct කරන්න. මේ එක එක stages connect කරන්නේ | operator එක මඟින්.

Scripting ගැන කතා කරන්න ගියොත් මේක සෑහෙන පුළුල් මාතෘකාවක්. අපි cmdlets භාවිතා කරනවා මේ scripting language එක භාවිත කරලා complex operation එකක් type කරන්න. මේ language එක support කරනවා variables, functions, branching (if then else) , loops (while, do, for, foreach), structured error/exception handling වගේ දේවල් ගණනාවකට. Strings add කරන්න පුළුවන් ඔබට single quotes වගේම double quotes විදිහටත්. මේ commands හා parameters යන දෙකේම නම් කට පාඩම් කරන්නට බැහැ. මේකට අනිවාර්යෙන්ම command line interface එක්ක හුරුව පවතින්න අවශ්‍ය වෙනවා. සිතන්න ඔබට වැඩ කරන්න වෙනවා අලුත් command එකක් හරි අලුත් parameter එකක් ආවා කියලා. ඔබ දන්නා දැනුම මේ වගේ වෙලාවක ප්‍රමාණවත් නොවෙන්න පුළුවන්. සාමාන්‍යයෙන් command line interface එකක ගොඩක් ලොකු tools නැහැ. Powershell කියන්නේ command names handle කරන්න හොඳම වර්ගයේ tool එකක්.

අපි මේ භාවිතා කරන හුඟක් commands අපි පාවිච්චි කරන්නේ operating system එකක් හෝ application එකක් කළමනාකරණය කරගන්න පාවිච්චි වෙන elements manage කරගන්න. සාමාන්‍යයෙන් service එකක් නවත්වන්න වගේම අයෙත් පටන් ගන්න පාවිච්චි වෙන්නේ පිලිවෙලින් net start එක සහ net stop commands දෙක. Sc.exe කියන්නේ තවත් මේ වගේම Windows වල පාවිච්චි වෙන service tool එකක්. Process management ගැන කතා කලොත් Windows වල tasklist.exe මඟින් command කරනවා processes සියල්ල list කරනවා වගේම taskkill.exe මඟින් processes kill කරනවා.  පොඩි සඳහනක් කරනවානම් net start command එක remote computers වලට භාවිත කරන්න බැහැ. ඒ වෙනුවට භාවිතා වෙන්නේ sc.exe command එක. ඒ වගේම ඔබ remote පරිගණකයක් access කරනවානම් අනිවාර්යෙන්ම එහි නම double backslash තුල සඳහන් කල යුතු වෙනවා.

අපි උදාහරණයක් ගම්මු DC01 නමින් තිබෙන පරිගණකයක් ගැන. මේකේ spooler service එක්ක start කරන්න තියෙනවා කියලා කියමු. ඔබ මේකට type කරන්න ඕනේ sc.exe \\DC01 start spooler විදිහට. අපි කලින් සඳහන් කරපු විදිහටම code වෙන්නේ. ඒ වගේම මේ DC01 පරිගණකයේ run වෙන tasks කියවන්න අපි භාවිත කරනවා /S command එක. ඒ වගේම පරිගණකයේ නම යොදන්න ඕනේ backslashes නැතුව. tasklist /S DC01 විදිහට.

powershell කියන්නේ ලේසියෙන් කතා කරලා ඉවර කරන්න පුළුවන් මාතෘකාවක් නෙමෙයි, අපි බලාපොරොත්තු වෙනවා මීළඟ ලිපියෙන් මේ powershell වල තවත් ගැඹුරට කතා කරන්නත් Microsoft Azure පාඩමක් පටන් ගන්නත්. අපි දන්නවා ඔබ මේ ලිපිය කියවනවා කියලා. ඔබ කැමති දේ අපිට ලියන්න. මේ වගේම…

නැවත හමුවෙමු…

Comments

comments

1 COMMENT

  1. බොහොම වටිනා පෝස්ටුවක්.
    දිගටම ලියන්න.
    ජයෙන් ජය

LEAVE A REPLY