Översikt över Microsoft.PowerShell.Crescendo

PowerShell kan, precis som andra gränssnitt, anropa kommandoradsverktyg. Det skulle dock förbättra upplevelsen om kommandoradsverktyget kunde delta i PowerShell-pipelinen och dra nytta av de parameterbeteenden som ingår i PowerShell.

Crescendo tillhandahåller ett ramverk för att snabbt skapa PowerShell-cmdletar som förstärker kommandoradsverktyg, oavsett plattform. Målet med en Crescendo-baserad modul är att skapa PowerShell-cmdletar som använder ett kommandoradsverktyg och, till skillnad från det verktyget, returnera PowerShell-objekt i stället för oformaterad text.

Så här fungerar Crescendo

Crescendo-ramverket har två huvudkomponenter:

  • En JSON-konfigurationsfil som beskriver de cmdletar som du vill använda
  • Utdatahanterarfunktioner som parsar utdata från kommandoradsverktyget och returnerar objekt

Crescendo-modulen innehåller cmdletar som hjälper dig att skapa JSON-konfigurationerna och skapa en modul som innehåller de cmdletar som du har definierat. Du måste skriva egna utdatahanterarfunktioner som returnerar PowerShell-objekt.

Crescendospecifik terminologi

Dokumentationen för Crescendo innehåller en del ny terminologi.

  • kommandoradsverktyg – en intern körbar fil installerad i systemet
    • Exempelvis: ipconfig.exe
  • kommando – vad du skriver på kommandoraden för att anropa den körbara filen, som kan innehålla specifika parametrar
    • Exempelvis: ipconfig.exe /all
  • förstärkt kommando – cmdleten som du skapade med Crescendo för att omsluta ett kommando i en PowerShell-funktion
    • Exempelvis: Get-IpConfig -All

Konfigurationsfilschemat för Crescendo

När du skapar en Crescendo-konfigurationsfil skriver du JSON. För bekvämlighet, validering och en förbättrad utvecklarupplevelse är en schemafil tillgänglig.

Du kan granska schemat för att se nödvändiga och valfria konfigurationsinställningar, deras beskrivningar och de värdetyper som de accepterar. När du skapar konfigurationsfilen i Visual Studio Code får du många användbara funktioner, inklusive IntelliSense, validering när du redigerar med mera.