2009-07-10 12 views
10

acercarse cmdlets de una manera conceptual,¿Qué es un cmdlet de PowerShell?

  1. ¿Cómo se hacen? ¿Están compilados?

  2. ¿Es el equivalente de un archivo por lotes para PowerShell? ¿Es un script o un binario?

  3. ¿Cuál es la estructura utilizada para almacenar estos cmdlets?

+0

SO a veces es mejor sin resultados de búsqueda re-agregados de arrastre incesantemente. –

Respuesta

23

Un PowerShell cmdlet es una pieza de código compilado .NET, más precisamente una sola clase, si no me equivoco. Los cmdlets son una especie de comandos "nativos" en PowerShell land, ya que son capaces de manejar entradas y salidas de objetos y, por lo general, funcionan bien y bien con la canalización (basada en objetos).

Los cmdlets no tienen representación directa en el sistema de archivos, ya que no son programas o similares. Ellos existen únicamente dentro de PowerShell. Puede usar el cmdlet Get-Command para consultar todos los cmdlets disponibles, funciones, etc.

Puede write cmdlets con un lenguaje .NET, como C#. Con PowerShell v2 también existe la posibilidad de escribir los llamados advanced functions que se comportan de manera similar a los cmdlets y tienen capacidades comparables, pero se interpretan como códigos de PowerShell, en lugar de clases compiladas. Esto puede incurrir en una sobrecarga de tiempo de ejecución.

1

Un cmdlet de PowerShell es una extensión creada por el usuario para el lenguaje de scripting de PowerShell. El Cmdlet en sí es una clase .NET que se extiende desde PSCmdlet. Por lo general, se incluyen componentes adicionales con el cmdlet para brindar ayuda y registrar el cmdlet.

Un cmdlet le permite acceder a todas las funciones accesibles a través de la máquina virtual .NET. Esto puede ir desde sencillas ayudas para guiones hasta programas completamente funcionales.

Cuestiones relacionadas