Compartir a través de


Instalar el SDK de Windows PowerShell

Se aplica a: Windows PowerShell 2.0, Windows PowerShell 3.0

En el tema siguiente se describe cómo instalar el SDK de PowerShell en distintas versiones de Windows.

Instalación del SDK de Windows PowerShell 3.0 para Windows 8 y Windows Server 2012

Windows PowerShell 3.0 se instala automáticamente con Windows 8 y Windows Server 2012. Además, puede descargar e instalar los ensamblados de referencia para Windows PowerShell 3.0 como parte del SDK de Windows 8. Estos ensamblados permiten escribir cmdlets, proveedores y programas host para Windows PowerShell 3.0. Al instalar Windows SDK para Windows 8, los ensamblados de Windows PowerShell se instalan automáticamente en la carpeta de ensamblados de referencia, en \Program Files (x86)\Reference Assemblies\Microsoft\WindowsPowerShell\3.0. Para obtener más información, consulte el sitio de descarga del SDK de Windows 8. Los ejemplos de código de Windows PowerShell también están disponibles en el repositorio powershell-sdk-samples.

Ensamblados de referencia

Los ensamblados de referencia se instalan en la siguiente ubicación de forma predeterminada: C:\Program Files\Reference Assemblies\Microsoft\WindowsPowerShell\V1.0.

Nota:

El código compilado con los ensamblados de Windows PowerShell 2.0 no se puede cargar en instalaciones de Windows PowerShell 1.0. Sin embargo, el código compilado con los ensamblados de Windows PowerShell 1.0 se puede cargar en instalaciones de Windows PowerShell 2.0.

Muestras

Los ejemplos de código se instalan en la siguiente ubicación de forma predeterminada: C:\Program Files\Microsoft SDKs\Windows\v7.0\Samples\sysmgmt\WindowsPowerShell\. En las secciones siguientes se proporciona una breve descripción de lo que hace cada ejemplo.

Ejemplos de cmdlets

  • GetProcessSample01: muestra cómo escribir un cmdlet sencillo que obtiene todos los procesos del equipo local.
  • GetProcessSample02: muestra cómo agregar parámetros al cmdlet . El cmdlet toma uno o varios nombres de proceso y devuelve los procesos coincidentes.
  • GetProcessSample03: muestra cómo agregar parámetros que aceptan la entrada de la canalización.
  • GetProcessSample04: muestra cómo controlar errores de no terminación.
  • GetProcessSample05: muestra cómo mostrar una lista de procesos especificados.
  • SelectObject: muestra cómo escribir un filtro para seleccionar solo determinados objetos.
  • SelectString: muestra cómo buscar archivos para patrones especificados.
  • StopProcessSample01: muestra cómo implementar un parámetro PassThru y cómo solicitar comentarios de usuario mediante llamadas a los métodos ShouldProcess y ShouldContinue. Los usuarios especifican el parámetro PassThru cuando quieren forzar al cmdlet a devolver un objeto,
  • StopProcessSample02: muestra cómo detener un proceso específico.
  • StopProcessSample03: muestra cómo declarar alias para parámetros y cómo admitir caracteres comodín.
  • StopProcessSample04: muestra cómo declarar conjuntos de parámetros, el objeto que el cmdlet toma como entrada y cómo especificar el parámetro predeterminado que se va a usar.

Ejemplos de comunicación remota

  • RemoteRunspace01: muestra cómo crear un espacio de ejecución remoto que se usa para establecer una conexión remota.
  • RemoteRunspacePool01: muestra cómo construir un grupo de espacios de ejecución remoto y cómo ejecutar varios comandos simultáneamente mediante este grupo.
  • Serialización01: muestra cómo examinar una clase .NET existente y asegurarse de que la información de las propiedades públicas seleccionadas de esta clase se conserva en la serialización o deserialización.
  • Serialización02: muestra cómo examinar una clase .NET existente y asegurarse de que la información de la instancia de esta clase se conserva en la serialización o deserialización cuando la información no está disponible en las propiedades públicas de la clase.
  • Serialización03: muestra cómo examinar una clase .NET existente y asegurarse de que las instancias de esta clase y de las clases derivadas se deserializan (rehidratan) en objetos .NET activos.

Ejemplos de eventos

  • Event01: muestra cómo crear un cmdlet para el registro de eventos derivando de ObjectEventRegistrationBase.
  • Event02: muestra cómo recibir notificaciones de eventos de Windows PowerShell generados en equipos remotos. Usa el evento PSEventReceived expuesto a través de la clase Runspace.

Ejemplos de aplicaciones de hospedaje

  • Runspace01: muestra cómo usar la clase de PowerShell para ejecutar el cmdlet Get-Process de forma sincrónica. El cmdlet Get-Process devuelve objetos Process para cada proceso que se ejecuta en el equipo local.
  • Runspace02: muestra cómo usar la clase de PowerShell para ejecutar los cmdlets Get-Process y Sort-Object sincrónicamente. El cmdlet Get-Process devuelve objetos Process para cada proceso que se ejecuta en el equipo local y el Sort-Object ordena los objetos en función de su propiedad Id. Los resultados de estos comandos se muestran mediante un control DataGridView.
  • Runspace03: muestra cómo usar la clase de PowerShell para ejecutar un script de forma sincrónica y cómo controlar errores de no terminación. El script recibe una lista de nombres de proceso y, a continuación, recupera esos procesos. Los resultados del script, incluidos los errores de no terminación que se generaron al ejecutar el script, se muestran en una ventana de consola.
  • Runspace04: muestra cómo usar la clase de PowerShell para ejecutar comandos y cómo detectar errores de terminación que se producen al ejecutar los comandos. Se ejecutan dos comandos y el último comando se pasa un argumento de parámetro que no es válido. Como resultado, no se devuelve ningún objeto y se produce un error de terminación.
  • Runspace05: muestra cómo agregar un complemento a un objeto InitialSessionState para que el cmdlet del complemento esté disponible cuando se abra el espacio de ejecución. El complemento proporciona un cmdlet Get-Proc (definido por el ejemplo GetProcessSample01) que se ejecuta de forma sincrónica mediante un objeto de PowerShell.
  • Runspace06: muestra cómo agregar un módulo a un objeto InitialSessionState para que el módulo se cargue cuando se abra el espacio de ejecución. El módulo proporciona un cmdlet Get-Proc (definido por el ejemplo GetProcessSample02) que se ejecuta de forma sincrónica mediante un objeto de PowerShell.
  • Runspace07: muestra cómo crear un espacio de ejecución y, a continuación, usar ese espacio de ejecución para ejecutar dos cmdlets de forma sincrónica mediante un objeto de PowerShell.
  • Runspace08: muestra cómo agregar comandos y argumentos a la canalización de un objeto de PowerShell y cómo ejecutar los comandos de forma sincrónica.
  • Runspace09: muestra cómo agregar un script a la canalización de un objeto de PowerShell y cómo ejecutar el script de forma asincrónica. Los eventos se usan para controlar la salida del script.
  • Runspace10: muestra cómo crear un estado de sesión inicial predeterminado, cómo agregar un cmdlet a InitialSessionState, cómo crear un espacio de ejecución que use el estado de sesión inicial y cómo ejecutar el comando mediante un objeto de PowerShell.
  • Runspace11: muestra cómo usar la clase ProxyCommand para crear un comando proxy que llama a un cmdlet existente, pero restringe el conjunto de parámetros disponibles. A continuación, el comando proxy se agrega a un estado de sesión inicial que se usa para crear un espacio de ejecución restringido. Esto significa que el usuario puede acceder a la funcionalidad del cmdlet solo a través del comando proxy.
  • PowerShell01: muestra cómo crear un espacio de ejecución restringido mediante un objeto InitialSessionState.
  • PowerShell02: muestra cómo usar un grupo de espacios de ejecución para ejecutar varios comandos simultáneamente.

Ejemplos de host

  • Host01: muestra cómo implementar una aplicación host que usa un host personalizado. En este ejemplo se crea un espacio de ejecución que usa el host personalizado y, a continuación, se usa la API de PowerShell para ejecutar un script que llama a exit. A continuación, la aplicación host examina la salida del script e imprime los resultados.
  • Host02: muestra cómo escribir una aplicación host que usa el entorno de ejecución de Windows PowerShell junto con una implementación de host personalizada. La aplicación host establece la referencia cultural del host en alemán, ejecuta el cmdlet Get-Process y muestra los resultados como los vería mediante pwrsh.exey, a continuación, imprime los datos y la hora actuales en alemán.
  • Host03: muestra cómo compilar una aplicación host interactiva basada en consola que lee comandos de la línea de comandos, ejecuta los comandos y, a continuación, muestra los resultados en la consola.
  • Host04: muestra cómo compilar una aplicación host interactiva basada en consola que lee comandos de la línea de comandos, ejecuta los comandos y, a continuación, muestra los resultados en la consola. Esta aplicación host también admite la visualización de mensajes que permiten al usuario especificar varias opciones.
  • Host05: muestra cómo compilar una aplicación host interactiva basada en consola que lee comandos de la línea de comandos, ejecuta los comandos y, a continuación, muestra los resultados en la consola. Esta aplicación host también admite llamadas a equipos remotos mediante los cmdlets Enter-PSSession y Exit-PSSession.
  • Host06: muestra cómo compilar una aplicación host interactiva basada en consola que lee comandos de la línea de comandos, ejecuta los comandos y, a continuación, muestra los resultados en la consola. Además, en este ejemplo se usan las API de tokenizador para especificar el color del texto especificado por el usuario.

Ejemplos de proveedor

  • AccessDBProviderSample01: muestra cómo declarar una clase de proveedor que deriva directamente de la clase CmdletProvider. Aquí solo se incluye por integridad.

  • AccessDBProviderSample02: muestra cómo sobrescribir los métodos NewDrive y RemoveDrive para admitir llamadas a los cmdlets New-PSDrive y Remove-PSDrive. La clase de proveedor de este ejemplo deriva de la clase DriveCmdletProvider.

  • AccessDBProviderSample03: muestra cómo sobrescribir los métodos GetItem y SetItem para admitir llamadas a los cmdlets Get-Item y Set-Item. La clase provider de este ejemplo deriva de la clase ItemCmdletProvider.

  • AccessDBProviderSample04: muestra cómo sobrescribir métodos de contenedor para admitir llamadas a los cmdlets de Copy-Item, Get-ChildItem, New-Itemy Remove-Item. Estos métodos deben implementarse cuando el almacén de datos contiene elementos que son contenedores. Un contenedor es un grupo de elementos secundarios en un elemento primario común. La clase provider de este ejemplo deriva de la clase ItemCmdletProvider.

  • AccessDBProviderSample05: muestra cómo sobrescribir métodos de contenedor para admitir llamadas a los cmdlets Move-Item y Join-Path. Estos métodos deben implementarse cuando el usuario necesita mover elementos dentro de un contenedor y si el almacén de datos contiene contenedores anidados. La clase provider de este ejemplo deriva de la clase NavigationCmdletProvider.

  • AccessDBProviderSample06: muestra cómo sobrescribir métodos de contenido para admitir llamadas a los cmdlets de Clear-Content, Get-Contenty Set-Content. Estos métodos deben implementarse cuando el usuario necesita administrar el contenido de los elementos del almacén de datos. La clase de proveedor de este ejemplo deriva de la clase NavigationCmdletProvider e implementa la interfaz IContentCmdletProvider.