A Microsoft.PowerShell.Crescendo áttekintése

A PowerShell más rendszerhéjakhoz hasonlóan parancssori eszközöket is képes invokálásra. Ez azonban javítaná a felhasználói élményt, ha a parancssori eszköz részt tudna venni a PowerShell-folyamatban, és kihasználná a PowerShell részét képező paraméterek viselkedését.

A Crescendo keretrendszert biztosít a parancssori eszközöket erősítő PowerShell-parancsmagok gyors létrehozásához, platformtól függetlenül. A Crescendo-alapú modul célja olyan PowerShell-parancsmagok létrehozása, amelyek parancssori eszközt használnak, és az eszközzel ellentétben egyszerű szöveg helyett PowerShell-objektumokat ad vissza.

A Crescendo működése

A Crescendo keretrendszer két fő összetevőből áll:

  • A kívánt parancsmagokat leíró JSON-konfigurációs fájl
  • Kimeneti kezelő függvények, amelyek elemzik a parancssori eszköz kimenetét és visszaadják az objektumokat

A Crescendo modul parancsmagokat biztosít a JSON-konfigurációk létrehozásához és a definiált parancsmagokat tartalmazó modul létrehozásához. Saját kimeneti kezelőfüggvényeket kell írnia, amelyek PowerShell-objektumokat adnak vissza.

Crescendo-specifikus terminológia

A Crescendo dokumentációja új terminológiát tartalmaz.

  • parancssori eszköz – a rendszeren telepített natív végrehajtható fájl
    • Például: ipconfig.exe
  • command – a parancssorba beírt parancs a végrehajtható fájl meghívásához, amely adott paramétereket tartalmazhat
    • Például: ipconfig.exe /all
  • amplified command – a Crescendo használatával létrehozott parancsmag, amely egy PowerShell-függvénybe tördel egy parancsot
    • Például: Get-IpConfig -All

A Crescendo konfigurációs fájlséma

Crescendo konfigurációs fájl létrehozásakor JSON-t ír. A kényelem, az ellenőrzés és a jobb fejlesztői élmény érdekében egy sémafájl érhető el.

A sémát áttekintve megtekintheti a szükséges és opcionális konfigurációs beállításokat, azok leírását és az általuk elfogadott értéktípusokat. A konfigurációs fájl Visual Studio Code-ban való létrehozásakor számos hasznos funkcióval rendelkezik, többek között az IntelliSense, a szerkesztés közbeni ellenőrzés és egyebek.