Compartir a través de


Windows PowerShell: PowerShell.exe

Como ocurre con muchas otras funciones de Windows PowerShell, hay más de una forma para abrir en primer lugar.

Don Jones

La mayoría del tiempo, deseará abrir Windows PowerShell utilizando el método abreviado de menú de inicio. Sin embargo, también hay veces cuando querrá mediante programación iniciar una nueva sesión de shell. Este es el camino a seguir cuando se programar una secuencia de comandos, o tener una secuencia de comandos se ejecutan como parte de un archivo externo.

En esas y muchas otras circunstancias, la clave para llevar a cabo lo que usted necesita será el ejecutable PowerShell.exe. Usted encontrará en la carpeta de instalación de Windows PowerShell.

PowerShell.exe inicia una nueva sesión de shell de consola, pero puede hacer mucho más. El comando viene equipado con un grupo de parámetros de línea de comandos que decirle exactamente cómo comportarse. ¿Ejecutar PowerShell-? desde la línea de comandos para una lista completa, o leer en la de los más destacados.

Ejecute el comando

El parámetro –command acepta un solo comando de Windows PowerShell, junto con los parámetros que requiere de comando. Encierre la cadena de comando completo entre comillas si contiene espacios ni parámetros. También puede incluir una tubería completa de varios cmdlets, si es necesario.

También se puede utilizar el parámetro –file. Esta acepta la ruta de acceso y el nombre de una.Archivo PS1. Windows PowerShell entonces se ejecutará el contenido de ese archivo. Se trata de una forma mucho más fácil de ejecutar una compleja serie de comandos que intentar jam en el parámetro –command. Tenga en cuenta que la política de ejecución de shell afecta ejecución del script, que nos lleva al siguiente punto.

Política de ejecución

El –executionpolicyparameters acepta uno de los ajustes de la política de ejecución de Windows PowerShell: Sin restricciones, AllSigned, RemoteSigned y restringido. Lo que debe especificar surtirán efecto para esa sesión de shell sólo y anulará cualquier política previamente establecida localmente con conjunto ExecutionPolicy o un objeto de directiva de grupo (GPO).

Espera, ¿no es éste un problema de seguridad? ¿No debería ser incapaz de ser anulado un GPO? No y no. La política de ejecución no es un servidor de seguridad, y no es software antimalware. Ha diseñado para que los usuarios desinformados sin querer ejecutar un script de confianza. Si especifica el parámetro –executionpolicy, por definición, está hacerlo intencionalmente. Por lo tanto aceptar las consecuencias de esa acción.

Captura de salida

Normalmente, lo que se ejecuta en la sesión de Windows PowerShell se generará por PowerShell.exe como texto. Si todo lo que quiere hacer es captura a un archivo de texto, es probablemente lo suficientemente bueno.

Sin embargo, también puede especificar –outputformat XML que PowerShell.exe capturar la salida de objetos mediante el comando o secuencia de comandos de shell. Entonces puede serializar los objetos en un archivo de CliXML. Esto es esencialmente el mismo como si tuviera los objetos de tubería de shell para exportación-CliXML. Le da un formato de salida que más fácilmente puede importar en otra sesión de shell.

Otros trucos

Hay tres otros parámetros de línea de comandos que desea conocer:

  • -noProfile impide que Windows PowerShell cargando los scripts de perfil como ejecuta. Si sabes que no necesitas lo que sea en los scripts de perfil local, cargarlos no pueden guardar un poco de tiempo. Este también es un truco útil si tiene un perfil que está causando problemas. Puede abrir el shell sin él y empezar a solucionar problemas.
  • noExit - dice el shell para ejecutar lo que se ha especificado por –command o –file, pero para mantener abierta la concha después. Normalmente, utilizando uno de esos dos parámetros cierra la concha cuando se hace, que es lo que normalmente le gustará. Uso de –noExit le permite continuar trabajando con la shell. Esto es útil para la depuración y comprobación de los resultados de lo que sólo ejecutó.
  • -no interactivos dice el shell para ejecutar, pero no dar al usuario un mensaje interactivo. A menudo se utilizará junto con –command o –file.

Masterización PowerShell.exe

Uso de PowerShell.exe le ofrece una variedad de opciones para ejecutar secuencias de comandos de control de salida y así sucesivamente. Si utilizas para programar secuencias de comandos, ejecutar secuencias de comandos de inicio de sesión, ejecutar comandos como parte de un lote más grande o algún otro propósito, es un buen truco para tener bajo su manga.

Don_Jones

**Don Jones**es un premio de MVP de Microsoft y autor de "Aprender Windows PowerShell en un mes de comidas" (publicaciones de Manning, 2011), un libro diseñado para ayudar a cualquier administrador efectivizada con Windows PowerShell. Jones también ofrece formación de Windows PowerShell in situ y pública. Contacto con él a través de ConcentratedTech.com o bit.ly/AskDon.

Contenido relacionado