തുടക്കക്കാർക്കുള്ള പവർഷെൽ

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-ൽ ആരംഭിക്കുന്ന ലഭ്യമായ എല്ലാ കമാൻഡുകളും ഫംഗ്‌ഷനുകളും കാണിക്കും*

ഔദ്യോഗിക മൈക്രോസോഫ്റ്റ് വെബ്സൈറ്റിൽ വിശദമായ ഡോക്യുമെന്റേഷനും ഉണ്ട്.

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 ന് അപരനാമങ്ങളുണ്ട് (അപരനാമം).

സെറ്റ്-ലൊക്കേഷൻ കമാൻഡിനുള്ള ഒരു ഉദാഹരണം cd ആണ്.

അതായത്, കമാൻഡ് വിളിക്കുന്നതിന് പകരം

Set-Location “D:”

നമുക്ക് ഉപയോഗിക്കാം

cd “D:”

ചരിത്രം

കമാൻഡ് കോളുകളുടെ ചരിത്രം കാണുന്നതിന്, നിങ്ങൾക്ക് Get-History ഉപയോഗിക്കാം

ചരിത്രത്തിൽ നിന്ന് കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്യുക ഇൻവോക്ക്-ഹിസ്റ്ററി 1; ഇൻവോക്ക്-ഹിസ്റ്ററി 2

ചരിത്രം മായ്‌ക്കുക ക്ലിയർ ഹിസ്റ്ററി

പൈപ്പ്ലൈൻ

ആദ്യത്തെ ഫംഗ്‌ഷന്റെ ഫലം രണ്ടാമത്തേതിലേക്ക് കൈമാറുമ്പോഴാണ് പവർഷെല്ലിലെ പൈപ്പ്‌ലൈൻ. പൈപ്പ്ലൈൻ ഉപയോഗിക്കുന്നതിനുള്ള ഒരു ഉദാഹരണം ഇതാ:

Get-Verb | Measure-Object

എന്നാൽ പൈപ്പ്ലൈൻ നന്നായി മനസ്സിലാക്കാൻ, നമുക്ക് ഒരു ലളിതമായ ഉദാഹരണം എടുക്കാം. ഒരു ടീം ഉണ്ട്

Get-Verb "get"

Get-Help Get-Verb -Full help എന്ന് വിളിക്കുകയാണെങ്കിൽ, Verb parameter pipline input സ്വീകരിക്കുന്നതും ByValue പരാൻതീസിസിൽ എഴുതിയിരിക്കുന്നതും കാണാം.

തുടക്കക്കാർക്കുള്ള പവർഷെൽ

ഇതിനർത്ഥം നമുക്ക് Get-Verb "get" എന്നത് "get" | എന്നാക്കി മാറ്റിയെഴുതാം എന്നാണ് നേടുക-ക്രിയ.
അതായത്, ആദ്യ പദപ്രയോഗത്തിന്റെ ഫലം ഒരു സ്ട്രിംഗ് ആണ്, അത് മൂല്യം അനുസരിച്ച് പൈപ്പ്ലൈൻ ഇൻപുട്ട് വഴി Get-Verb കമാൻഡിന്റെ ക്രിയാ പാരാമീറ്ററിലേക്ക് കൈമാറുന്നു.
കൂടാതെ, പൈപ്പ്ലൈൻ ഇൻപുട്ട് ByPropertyName ആയിരിക്കാം. ഈ സാഹചര്യത്തിൽ, ക്രിയ എന്ന സമാനമായ പേരുള്ള ഒരു വസ്തുവിനെ ഞങ്ങൾ കൈമാറും.

വേരിയബിളുകൾ

വേരിയബിളുകൾ ശക്തമായി ടൈപ്പ് ചെയ്‌തിട്ടില്ല കൂടാതെ മുന്നിൽ ഒരു $ ചിഹ്നം ഉപയോഗിച്ച് വ്യക്തമാക്കുന്നു

$example = 4

> ചിഹ്നം എന്നാൽ ഡാറ്റ ഇടുക എന്നാണ്
ഉദാഹരണത്തിന്, $example > File.txt
ഈ എക്സ്പ്രഷൻ ഉപയോഗിച്ച് ഞങ്ങൾ $example വേരിയബിളിൽ നിന്നുള്ള ഡാറ്റ ഒരു ഫയലിലേക്ക് സ്ഥാപിക്കും
സെറ്റ്-ഉള്ളടക്കം -മൂല്യം $ഉദാഹരണം -പാത്ത് 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

ഒരു അഭിപ്രായം ചേർക്കുക