Személyes eszközök
Keresés

 

A InfoWiki wikiből

A lap korábbi változatát látod, amilyen Vendeg (vita | szerkesztései) 2008. december 13., 09:19-kor történt szerkesztése után volt.

Windows Powershell CMDLET írása

Elöször is az alábbi linkről szerezzük be a Visual Studio 2005 templateket. VB.NET-ben és C#-ban érhetők el.


Amíg tart a letöltés, vegyük végig a a Powershell cmdlet készítés lépéseit. Ezek egyszerűek:


  • Töltsük le és telepítsük a Windows Powershellt
  • Töltsük le és telepítsük a Windows SDK for Vista-t - erre az assemblyk telepítésekor lesz szükség, melyeket a Windows Powershell igényel.
  • Töltsük le és telepítsük a sablonokat a fenti linkről. Rengeteg időt spórolnak meg nekünk, ingyenesek és szabadon módosíthatjuk/frissíthetjük őket
  • Készítsünk egy új Windows Powershell projektet a kedvenc programozási nyelvünkön
  • Adjunk hozzá a projekthez egy új cdmlet elemet
  • Valósítsuk meg a ProcessRecord eljárást
  • Fordítsuk le
  • Telepítsük az assemblyt
  • Adjuk hozzá a cmdleteket a Powershellhez
  • Használjuk őket


Soknak tűnhet, de valójában nagyon egyszerű és hamarosan mindenre cmdleteket fogunk gyártani.


Most, hogy a templatek letöltése befejeződött, a zip állományt kicsomagolva 2 vsi fájlt kell, hogy találjunk. Az egyik VB.NET-hez a másik C#-hoz. Telepítsük fel azt, amelyiket szeretnénk.

Kép:Image09.png

Nincsenek aláírva, így figyelmeztetésre számíthatunk.

Kép:Image10.png

Ezt követően indítsuk el a Visual Studiot és készítsünk egy új projektet, válasszuk a Powershell templatet a projekt templatenek.

Kép:image11.jpg

A projekt tartalmaz egy PSSnapin fájlt és referenciát az assemblyhez System.Management.Automation - ami a c:\program files\Reference Assemblies\Microsoft\WindowsPowerShell\v1.0 könyvtárban található meg. ( ezek meglétéhez telepített Windows SDK for Vista kell )


Jobb klikk a PSSnapin fájlon majd válasszuk a 'view code'-t. ( ha duplán kattintunk a fájlra a Visual Studio megpróbálja megnyitni a 'deigner window'-t, de ez nem fog sikerülni - ám emiatt ne aggódjunk, PSSnapin nem arra lett kitalálva, hogy a 'visual designer'-ben dolgozzunk vele)


A PSSnapin 5 propertyt tartalmaz, melyeket magunknak kell befejezni. Magáért beszélönek kell lenniük - kulcsfontosságú a 'Name' amivel hivatkoztni tudunk rá a Powershellben. Adjunk meg ezeknek a propertyknek helyes értékeket.


A PSSnapin osztály a PSSnapin-ból öröklödik, ami az alap osztály 'snapin'-ok készítésénél. A 'snapin'-ok a Powershellt felépítő egységek. Jellemzően 'snapin'-okat adsz hozzá vagy távolítassz el. A 'snapin'-ok egy vagy több cmdletet és/vagy providert(pl. alap telepítésnél: Alias,File system,Environment,Certificate,Registry) tartalmaznak.


Ezután egy új osztályt fogunk a cmdletünkhöz adni. Annyi cmdletet adhatunk a 'snapin'-hoz amennyi csak szükséges, ezen útmutatóban csak egyet fogunk.


Jobb klikk a projekten és válasszuk az új elem hozzáadását. Válasszuk ki a Windows PowerShell PSCmdletet a listából. Ennek kellene alapértelmezettnek lennie a cmdleteknél. Az osztály neve GetProc.


Az új osztálynak a PSCmdlet-böl kell öröklödnie, hozzá van fűzve egy cmdlet attributum és tartalmaz egy paramétert, ami ki van kommentelve, valamint egy ProcessRecord eljárást.


Az attribútumban változtassuk a nevet 'Proc'-ra. Powershellben az osztály neve lényegtelen. A cmdlet az attribútumból kapja a nevét. A mi esetünkben a cmdletünket 'Get-Proc'-nak akarjuk hívni, így használjuk a megszokott 'Get' és 'Proc' nevet.


Az attribútum 'tag'-nek a következőképp kellene kinéznie:

[Cmdlet(VerbsCommon.Get, "Proc", SupportsShouldProcess = true)]

Mióta a cmdletünknek nincs szüksége paraméterekre, nem kell vele semmit csinálnunk. Másfelől, ha megnézzük a 'parameter code'-t, láthatjuk, hogy az egyszerűen egy cimkézett property.

A lap eredeti címe: „http://wiki.ektf.hu/wiki/Opr4:CMDLET
Nézetek
nincs sb_3.129.249.105 cikk