15Aug

Hvorfor kaldes Windows PowerShell-kommandoer til Cmdlets?

Når du arbejder med Windows PowerShell, er du måske kommet over krydset cmdlet og fundet dig selv forvirret. Er en cmdlet noget helt anderledes end en kommando eller er det bare PowerShells navn til dem? Dagens SuperUser Q & A-indlæg har svaret på en nysgerrig læsers spørgsmål.

Dagens Spørgsmål &Svar session kommer til os høflighed af SuperUser-en underafdeling af Stack Exchange, en community-drevet gruppe af Q & A-websteder.

Spørgsmål

SuperUser-læser RBT ønsker at vide, hvorfor Windows PowerShell-kommandoer kaldes cmdlets:

Jeg har forsøgt at finde ud af nomenklaturen, hvorfor kommandoer kaldes kommandoer( cmdlets) i PowerShell. Hvorfor bliver de ikke blot kaldet kommandoer i stedet? Hvad er forskellen?

Jeg kunne kun gætte ud fra denne Wikipedia artikel om PowerShell, at det på en eller anden måde kunne være en forkortelse af kommandolinjens grænseflade for at interagere med kommandoer skrevet i. Net.

Hvorfor kaldes Windows PowerShell-kommandoer cmdlets?

Svaret

SuperUser-bidragyder LotPings har svaret for os:

Ifølge Microsoft:

En cmdlet er en letvægtskommando, der bruges i Windows PowerShell-miljøet. Windows PowerShell runtime påberåber disse cmdlets inden for rammerne af automatiseringsskripter, der leveres på kommandolinjen. Windows PowerShell runtime påberåber dem også programmatisk via Windows PowerShell API'er.

Hvordan Cmdlets adskiller sig fra kommandoer

Cmdlets adskiller sig fra kommandoer i andre kommando-shell-miljøer på følgende måder:

  • Cmdlets er forekomster af. NET Framework-klasser;de er ikke stand-alone executables.
  • Cmdlets kan oprettes fra så få som et dusin linjer kode.
  • Cmdlets gør generelt ikke deres egen parsing, fejlpræsentation eller outputformatering. Parsing, fejlpræsentation og outputformatering håndteres af Windows PowerShell runtime.
  • Cmdlets behandler indgangsobjekter fra rørledningen i stedet for fra streams af tekst, og cmdlets leverer typisk objekter som output til rørledningen.
  • Cmdlets er rekordorienterede, fordi de behandler en enkelt objekt ad gangen.

Kilde: Cmdlet Oversigt [Microsoft]

Har du noget at tilføje til forklaringen? Lyde af i kommentarerne. Vil du læse flere svar fra andre tech-savvy Stack Exchange brugere? Tjek den fulde diskussionstråd her.