2009-07-10 16 views
10

Avvicinandosi cmdlet in modo concettuale,Che cos'è un cmdlet PowerShell?

  1. Come sono fatti? Sono compilati?

  2. È l'equivalente di un file batch per PowerShell? È una sceneggiatura o un binario?

  3. Qual è la struttura utilizzata per la memorizzazione di questi cmdlet?

+0

SO è talvolta meglio senza ricorrere ai risultati di ricerca riaggregati incessantemente. –

risposta

23

Un PowerShell cmdlet è un pezzo compilata del codice .NET, più precisamente una singola classe, se non mi sbaglio. I cmdlet sono in qualche modo i comandi "nativi" in PowerShell land, essendo in grado di gestire l'input e l'output degli oggetti oltre che di solito giocare bene e con la pipeline (basata sugli oggetti).

I cmdlet non hanno una rappresentazione diretta nel file system, in quanto non sono programmi o simili. Esistono solo all'interno di PowerShell. È possibile utilizzare il cmdlet Get-Command per interrogare tutti i cmdlet, le funzioni, ecc. Disponibili

È possibile write cmdlets con un linguaggio .NET, come C#. Con PowerShell v2 esiste anche la possibilità di scrivere i cosiddetti advanced functions che si comportano in modo simile ai cmdlet e hanno capacità comparabili ma sono interpretati dal codice PowerShell, invece delle classi compilate. Ciò potrebbe comportare un sovraccarico di runtime.

1

Un cmdlet di PowerShell è un'estensione creata dall'utente per il linguaggio di scripting di PowerShell. Lo stesso Cmdlet è una classe .NET che si estende da PSCmdlet. Di solito, i componenti aggiuntivi sono inclusi con il cmdlet per fornire aiuto e registrare il cmdlet.

Un cmdlet consente di accedere a tutte le funzioni accessibili tramite la macchina virtuale .NET. Questo può variare da semplici sussidi per script a programmi completamente funzionali.

Problemi correlati