PowerShell – Cmdlet vai jotain muuta

Don Jonesin ja Jeffrey Hicksin Learn Windows PowerShell in a Month of Lunches -kirjassa tehdään selkeähkö terminologinen rajaus PowerShellillä ajettaville komennoille. PowerShellissä geneerisellä termillä komento (command) voidaan tarkoittaa siis seuraavia asioita:

  • cmdlet
  • function
  • workflow
  • application

Cmdletit ovat natiiveja PowerShell-komentorivityökaluja, jotka on kirjoitettu .NET Framework -kielellä (kuten esimerkiksi C#). Cmdletit ovat käytössä vain PowerShell-ympäristössä. Et voi esimerkiksi avata komentokehotetta ja kirjoittaa:

Get-Process

Mitään ei tapahdu ilman että kirjoitat alkuun powershell (jolloin powershell.exe käynnistyy, ja ottaa kirjoittamasi komennon ilolla vastaan). Nimeämiskäytäntö cmleteillä on aina muotoa Verbi-Substantiivi eli Verb-Noun. Cmdleteistä lisää täältä.

Funktio (function) voi olla cmdletin kanssa samankaltainen, mutta .NET kielen sijaan ne on kirjoitettu PowerShellin omalla skriptikielellä.

Workflow (työnkulku) on Jonesin ja Hicksin sanojen mukaan ”erityinen funktio, joka nivoutuu yhteen PowerShellin workflow-suoritusjärjestelmän kanssa”. En ole kielenkääntämisen ammattilainen ja se näkyy edellisessä lauseessa, mutta perusperiaate on selkeä – workflow on siis funktio. Workflown avulla voidaan suorittaa tehtäviä rinnakkain eli samanaikaisesti. Ei siis tarvitse odottaa että esimerkiksi jokin kone palauttaa ensin tiedon X ennen kuin voidaan tiedustella tietoa Y. Workflow mahdollistaa sen, että useita asioita voidaan suorittaa yhtäaikaa. Tarkemmin workflown perusteista kannattaa ehdottomasti lukea täältä.

Application (ohjelma) on mikä tahansa ulkoinen suoritettava ohjelma, kuten ikivihreät ping.exe tai ipconfig.exe

Komento (command) on siis sateenvarjotermi, joka kattaa kaikki edellämainitut. On siis melkolailla turvallista sanoa aina komento, mutta on hyvä käytäntö nimetä asiat niiden oikeilla nimillä.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *