Compartir a través de


Ejemplos de espacio de ejecución

En esta sección se incluye código de ejemplo que muestra cómo usar diferentes tipos de espacios de ejecución para ejecutar comandos de forma sincrónica y asincrónica. Puede usar Microsoft Visual Studio para crear una aplicación de consola y, a continuación, copiar el código de los temas de esta sección en la aplicación host.

En esta sección

Nota:

Para obtener ejemplos de aplicaciones host que crean interfaces de host personalizadas, consulte Ejemplos de host personalizados.

ejemplo Runspace01 En este ejemplo se muestra cómo usar la clase System.Management.Automation.PowerShell para ejecutar el cmdlet Get-Process de forma sincrónica y mostrar su salida en una ventana de consola.

ejemplo runspace02 En este ejemplo se muestra cómo usar la clase System.Management.Automation.PowerShell para ejecutar los cmdlets de Get-Process y Sort-Object de forma sincrónica. Los resultados de estos comandos se muestran mediante un control System.Windows.Forms.DataGridView.

Ejemplo runspace03 En este ejemplo se muestra cómo usar la clase System.Management.Automation.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.

Ejemplo runspace04 En este ejemplo se muestra cómo usar la clase System.Management.Automation.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.

ejemplo runspace05 Este ejemplo muestra cómo agregar un complemento a un objeto System.Management.Automation.Runspaces.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 GetProcessSample01 Sample) que se ejecuta de forma sincrónica mediante un objeto System.Management.Automation.PowerShell.

ejemplo runspace06 Este ejemplo muestra cómo agregar un módulo a un objeto System.Management.Automation.Runspaces.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 GetProcessSample02 Sample) que se ejecuta de forma sincrónica mediante un objeto System.Management.Automation.PowerShell.

Ejemplo runspace07 Este ejemplo 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 System.Management.Automation.PowerShell.

ejemplo runspace08 Este ejemplo muestra cómo agregar comandos y argumentos a la canalización de un objeto system.Management.Automation.PowerShell y cómo ejecutar los comandos de forma sincrónica.

Ejemplo runspace09 En este ejemplo se muestra cómo agregar un script a la canalización de un objeto System.Management.Automation.PowerShell y cómo ejecutar el script de forma asincrónica. Los eventos se usan para controlar la salida del script.

Ejemplo de Runspace10 En este ejemplo se muestra cómo crear un estado de sesión inicial predeterminado, cómo agregar un cmdlet a la System.Management.Automation.Runspaces.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 System.Management.Automation.Power Shell.

ejemplo runspace11 Esto muestra cómo usar la clase System.Management.Automation.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.

Véase también