Erinevus lehekülje "Kuidas kirjutada powershellis funktsioon?" redaktsioonide vahel

Allikas: Teadmusbaas
1. rida: 1. rida:
  
 
        Funktsioonid on PowerShell-is selleks, et säästa aega ja vältida sama koodi kirjutamist uuesti.
 
''Script'' pannakse funktsiooni sisse. Et käivitada funktsioon pead kirjutama selle nime.
 
  
 +
== Milleks kasutatakse PowerShelli funktsioone? ==
  
Nt
+
Windows PowerShell laseb sul luua funktsioone. Funktsioon on nime saanud koodi rida. Kui sa kutsud funktsiooni nime välja,siis käivitub skript selle sees. Sa saad lisada funktsioonile parameetrid, et sa saaksid kasutada sama funktsiooni teiles arvutis.
Function Get-Information
 
{
 
  
(''Script'' pane siia)
 
  
}
+
== Kuidas luua funktsiooni ==
  
Get-Information on selle funktsiooni nimi ja trükkides selle PowerShell-i käivitab selle. Kuidas kirjutada üks PowerShell-i funktioon.
+
Funktsioon koosneb kolmest elementist; võtmesõnast funktsioon, funktsiooni nimest ja ''script''-ist.
Ma näitan ühte sellist, mis kuvab arvuti seeria nr info jne. Alustasin mõne koodirea kirjutamisega.
+
Näitan ''syntax''-it
  
1.Võtab arvuti süsteemi info system32 kaustast.
+
function <nimi> \{ <''script''-i plokk> \}
  
Get-WmiObject -Class Win32_ComputerSystem
+
Script-i plokk mis sisaladab koodi rida käivitub kui sa kutsud funktsiooni välja. Siin on üks näide mille funktsiooni nimeks on pandud
 +
Failisuurus:
  
 +
function Failisuurus
 +
\{
 +
  dir C:\Windows |
 +
  where \{$_.length -gt 100000\}
 +
\}
  
2.Võtab Operatsiooni süsteemi info system32 kaustast.
+
Nagu siin näha see funktsioon algab võtmesõnast function millele järgneb funktsiooni nimi. Koodi rida koosneb kahest eraldi käsust. Esimene käsklus kasutab Get-ChildItem cmdlet selleks, et saada kätte C:\Windows kausta sisu. Tulemus on teises käkluses, mis kasutab Where-Object cmdlet-i, et otsida ainult faile suuremad kui 100,000 byte-i.
  
Get-WmiObject -class win32_OperatingSystem
+
Kui sa teed funktsiooni, PowerShell salvestab selle oma mällu. Kogu funktsiooni tegevuse vältel võid sa funktsiooni välja kutsuda mitu korda tahes lihtsalt sisestades selle nime nagu eelmises
  
 +
Filesuurus
  
3 Võtab Bios-i info system32 kaustast.
+
Kui sa vajutad Enter-it, PowerShell käivitab koodi ''scriptis'' ja näitab tulemust.
  
Get-WmiObject -class Win32_BIOS
 
  
 +
== Lisan parameetrid ==
  
Nüüd lisan kirjutatud koodi funktiooni ära unusta loogelisi sulge { }.
+
Üks viis seda kasutada on lisada muutuja. Kui sa kutsud PowerShell-is funktsiooni välja siis sa saad parameetri väärtuse funktiooni nimega. Sa saad tuua väärtused massiivist funktsiooni.
  
Function Get-ComputerInformation
+
Näiteks järgnev funktsioon kasutab muutujat $fast
{
 
    Get-WmiObject -Class Win32_ComputerSystem
 
 
 
    Get-WmiObject -class win32_OperatingSystem
 
   
 
    Get-WmiObject -class win32_BIOS
 
}
 
  
Funktiooni nimeks panin, Get-ComputerInformation, kui kirjutada selle funktsiooninime PowerShell-i saab seda kasutada.
+
function Failisuurus2
 +
\{
 +
  dir $fast\[0\] |
 +
  where \{$_.Length -gt 100000\}
 +
\}
 +
 
 +
Esimene käsklus kasutab ($fast\[0\]) kaustateekonna (C:\Windows) asemel. Kui kutsud välja Failisuurus2-se, siis esimene käsklus otsib kausta.
 +
 
 +
Et failisuurus2 välja kutsuda kirjuta funktsiooni nimi ja kaustateekond nede vahel peab olema tühik
 +
 
 +
Näide:
 +
 
 +
Failisuurus C:\Windows
 +
 
 +
Käsklusele vastates PowerShell  kutsub välja selle funktsiooni, asendab ta $args\]0\] C:\Windows-sega ja näitab ära, selles kaustas olevad failid suuremad kui 100,000 byte-i.
 +
 +
 
 +
== Nimelised parameetrid ==
 +
 
 +
Et teha nimelised parameetrid peavad nad olema dollari märgiga, ja kui neid on mitu siis komaga eraldatud sulgudes funktsiooni nime taga.
 +
Näide:
 +
 
 +
function FileSize3 ($dir, $minsuurus)
 +
\{
 +
  dir $dir |
 +
  where \{$_.length -gt $minsize\}
 +
\}
 +
 
 +
lisan kaks nimelist muutujat $dir ja $minsuurus. ''Script-is'' olev kood kasutab neid, et tuvastada soovitud kausta ja miinimum faili suurust (byte-ides).

Redaktsioon: 12. detsember 2015, kell 19:38


Milleks kasutatakse PowerShelli funktsioone?

Windows PowerShell laseb sul luua funktsioone. Funktsioon on nime saanud koodi rida. Kui sa kutsud funktsiooni nime välja,siis käivitub skript selle sees. Sa saad lisada funktsioonile parameetrid, et sa saaksid kasutada sama funktsiooni teiles arvutis.


Kuidas luua funktsiooni

Funktsioon koosneb kolmest elementist; võtmesõnast funktsioon, funktsiooni nimest ja script-ist. Näitan syntax-it

function <nimi> \{ <script-i plokk> \}

Script-i plokk mis sisaladab koodi rida käivitub kui sa kutsud funktsiooni välja. Siin on üks näide mille funktsiooni nimeks on pandud Failisuurus:

function Failisuurus \{

 dir C:\Windows |
 where \{$_.length -gt 100000\}

\}

Nagu siin näha see funktsioon algab võtmesõnast function millele järgneb funktsiooni nimi. Koodi rida koosneb kahest eraldi käsust. Esimene käsklus kasutab Get-ChildItem cmdlet selleks, et saada kätte C:\Windows kausta sisu. Tulemus on teises käkluses, mis kasutab Where-Object cmdlet-i, et otsida ainult faile suuremad kui 100,000 byte-i.

Kui sa teed funktsiooni, PowerShell salvestab selle oma mällu. Kogu funktsiooni tegevuse vältel võid sa funktsiooni välja kutsuda mitu korda tahes lihtsalt sisestades selle nime nagu eelmises

Filesuurus

Kui sa vajutad Enter-it, PowerShell käivitab koodi scriptis ja näitab tulemust.


Lisan parameetrid

Üks viis seda kasutada on lisada muutuja. Kui sa kutsud PowerShell-is funktsiooni välja siis sa saad parameetri väärtuse funktiooni nimega. Sa saad tuua väärtused massiivist funktsiooni.

Näiteks järgnev funktsioon kasutab muutujat $fast

function Failisuurus2 \{

 dir $fast\[0\] |
 where \{$_.Length -gt 100000\}

\}

Esimene käsklus kasutab ($fast\[0\]) kaustateekonna (C:\Windows) asemel. Kui kutsud välja Failisuurus2-se, siis esimene käsklus otsib kausta.

Et failisuurus2 välja kutsuda kirjuta funktsiooni nimi ja kaustateekond nede vahel peab olema tühik

Näide:

Failisuurus C:\Windows

Käsklusele vastates PowerShell kutsub välja selle funktsiooni, asendab ta $args\]0\] C:\Windows-sega ja näitab ära, selles kaustas olevad failid suuremad kui 100,000 byte-i.


Nimelised parameetrid

Et teha nimelised parameetrid peavad nad olema dollari märgiga, ja kui neid on mitu siis komaga eraldatud sulgudes funktsiooni nime taga. Näide:

function FileSize3 ($dir, $minsuurus) \{

 dir $dir |
 where \{$_.length -gt $minsize\}

\}

lisan kaks nimelist muutujat $dir ja $minsuurus. Script-is olev kood kasutab neid, et tuvastada soovitud kausta ja miinimum faili suurust (byte-ides).