Powershell versioon 3: Difference between revisions

From ICO wiki
Jump to navigationJump to search
No edit summary
No edit summary
Line 35: Line 35:
Et oleks kergem aru saada, kuidas objekte läbi käiakse, võeti kasutusele $PSItem muutuja, see asendab endist $_ muutujat. See teeb elu lihtsamaks, sest osadele inimestele tundus $_ maagilise asjana, millest oli raske aru saada. Nüüd võib selle asemel igal pool kirjutada $PSItem.
Et oleks kergem aru saada, kuidas objekte läbi käiakse, võeti kasutusele $PSItem muutuja, see asendab endist $_ muutujat. See teeb elu lihtsamaks, sest osadele inimestele tundus $_ maagilise asjana, millest oli raske aru saada. Nüüd võib selle asemel igal pool kirjutada $PSItem.
   
   
==Argumendid ei vaja enam = $true==


Vanas versioonis kirjutatakse:
  PS>param([Parameter(Mandatory=$true)]$p)
Uues versioonis võib aga kirjtuada:
  PS>param([Parameter(Mandatory)]$p)
Kui jätta $true argumendilt ära, siis see elldatakse sinna automaatselt.


= Kokkuvõte =
= Kokkuvõte =

Revision as of 13:36, 31 December 2013

Sissejuhatus

Töö eesmärk on tutvustada Windows PowerShell V3-e ja selle uusi võimalusi.

Autor

  • Gert Kosenkranius
  • Grupp AK21

Ülevaade

Mis on Windows PowerShell V3?

Windows PowerShell V3 on windowsi operatsioonisüsteemi sisse ehitatud skriptimiskeel, mis aitab õigetes kätes oluliselt lihtsustada administraatori elu. Nüüdseks on välja tulnud juba kolmas versioon, mis on endaga kaasa toonud uuendused, milledest mõnedest annangi ülevaate.

Uuendused

Liikmete läbikäimine

Versioon kolmes on oluliselt mugavamaks tehtud objektide ja liikmete läbikäimist skriptides. Kui enne tuli kasutada algajatele suhteliselt raskelt mõistetavat $_. kontruktsiooni, siis uues versioonis on see oluliselt lihtsam. Näiteks:

Vanas versioonis tuli kaustas olevate objektide täis PATH-i teadasaamiseks kirjutada:

 PS> dir | % { $_.FullName }

Siis uues versioonis saab seda teha oluliselt mugavamalt:

 PS> (dir).FullName

Kaughalduse sessioonidele muutujate edastamine

Kui vanas versioonis taheti mõni muutuja edastada läbi kaughalduse, siis tuli kasutada näiteks sellist lahendust:

 PS> $localVar = 42 
 PS> Invoke-Command -cn srv123 { param($localVar) echo $localVar } –ArgumentList $localVar 
 42

Siis uues versioonis on see jälle mugavamaks tehtud:

 PS> $localVar = 42 
 PS> Invoke-Command –cn srv123 { echo $using:localVar } 
 42

PSItem

Et oleks kergem aru saada, kuidas objekte läbi käiakse, võeti kasutusele $PSItem muutuja, see asendab endist $_ muutujat. See teeb elu lihtsamaks, sest osadele inimestele tundus $_ maagilise asjana, millest oli raske aru saada. Nüüd võib selle asemel igal pool kirjutada $PSItem.

Argumendid ei vaja enam = $true

Vanas versioonis kirjutatakse:

 PS>param([Parameter(Mandatory=$true)]$p)

Uues versioonis võib aga kirjtuada:

 PS>param([Parameter(Mandatory)]$p)

Kui jätta $true argumendilt ära, siis see elldatakse sinna automaatselt.

Kokkuvõte

Kasutatud kirjandus

  1. MSDN Blog


Gert Kosenkranius AK21-2013