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
- Például:
- 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
- Például:
- 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
- Például:
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.