Está en la página 1de 13

Windows Powershell

Interfaz de consola (CLI) con posibilidad de escritura y conjuncin de comandos por medio de guiones (scripts en ingls). Es mucho ms rica e interactiva que sus predecesores, desde DOS hasta Windows 7. Esta interfaz de consola est diseada para su uso por parte de administradores de sistemas, con el propsito de automatizar tareas o realizarlas de forma ms controlada. Powershell no slo permite interactuar con el sistema operativo, sino tambin con programas de Microsoft como SQL Server, Exchange o IIS. La principal utilidad de Powershell es permitir automatizar tareas administrativas al usuario. El lenguaje de la consola incluye declaracin de variables, variables especiales predefinidas, operadores matemticos, incluyendo igualdades y desigualdades numricas, manejo de vectores, comparacin entre estos, operadores de asignacin, vectores asociativos (hashtables), valores booleanos, ciclos y ruptura de los mismos, operadores de expansin para simplificacin de ejecuciones complejas (creacin de vectores por medio de llamados a procedimientos, creacin dinmica de vectores, etc.); comentarios, operadores de comparacin binaria, caracteres de escape, orden de ejecucin, ciclos del tipo "foreach", creacin de procedimientos y funciones, creacin de filtros, estructuras condicionales complejas (if/then/else/elseif/switch), operador de invocacin dinmica del contenido de variables ($p = "MiProceso" --> &$p ejecuta MiProceso), llamado a mtodos de tipo "$p.ToUpper()", acceso a propiedades de instancias de objetos, redireccin de salida normal de consola a archivos, retorno de valores, manejo de cadenas de caracteres por medio de operadores, manejo de excepciones y conversin explcita de tipos. Una de las principales funciones de Powershell es tratar de igualar al famoso lenguaje PERL de UNIX. El cual est considerado verstil, potente y con facilidad para

interactuar con el sistema operativo. Exchange server 2007 utiliza Powershell internamente. La tendencia es que todas las aplicaciones tengan su seccin visual y una opcin para ver el cdigo generado en Powershell. Caractersticas de Windows Powershell. Es un intrprete de comandos orientado a objetos. La informacin de entrada y de salida en cada etapa del proceso (cmdlet, "comndulo") es un conjunto de instancias de objeto, a diferencia de lo que ocurre con los intrpretes de comandos tradicionales, que slo devuelven y reciben texto. Localizar Windows Powershell en Windows 7

Seleccionamos el ltimo de la lista y veremos la siguiente ventana.

Introduccin al Shell de comandos El shell de comandos es un programa de software independiente que proporciona comunicacin directa entre el usuario y el sistema operativo. La interfaz de usuario del shell de comandos no es grfica y proporciona el entorno en que se ejecutan aplicaciones y utilidades basadas en caracteres. El shell de comandos ejecuta programas y muestra su resultado en pantalla mediante caracteres individuales similares al intrprete de comandos de MS-DOS Command.com. El shell de comandos de los sistemas operativos de servidor Windows utiliza el intrprete de comandos Cmd.exe, que carga aplicaciones y dirige el flujo de informacin entre ellas, para traducir los datos de entrada del usuario a un formato que el sistema operativo reconozca. Puede usar el shell de comandos para crear y modificar archivos por lotes (tambin llamados secuencias de comandos) para automatizar tareas rutinarias. Por ejemplo, puede usar secuencias de comandos para automatizar la administracin de cuentas de usuario o las copias de seguridad nocturnas. Tambin puede usar la versin de lnea de comandos de Windows Script Host, CScript, para ejecutar secuencias de comandos ms complejas en el shell de comandos. Para obtener ms informacin, vea Ejecutar Windows Script Host. Puede

realizar operaciones con ms eficacia utilizando archivos por lotes que con la interfaz de usuario. Los archivos por lotes aceptan todos los comandos disponibles en la lnea de comandos. Para obtener ms informacin acerca de los archivos por lotes y las secuencias de comandos, vea Usar archivos por lotes. Puede personalizar la ventana del smbolo del sistema para visualizarla con ms facilidad y aumentar el control sobre la forma en que ejecuta los programas. Para obtener ms informacin acerca de cmo personalizar la ventana del smbolo del sistema, vea Configurar el smbolo del sistema. Utilizar la sintaxis de comandos La sintaxis aparece en el orden en que debe escribir un comando y los parmetros que lo siguen. El ejemplo siguiente del comando xcopy muestra diversos formatos de la sintaxis: xcopyorigen [destino] [/w] [/p] [/c] [/v] [/q] [/f] [/l] [/g] [/d[:MM-DD-AAAA]] [/u] [/i] [/s [/e]] [/t] [/k] [/r] [/h] [{/a | /m}] [/n] [/o] [/x] [/exclude:archivo1[+[archivo2]][+[archivo3]] [{/y | /-y}] [/z] La tabla siguiente explica cmo interpretar los diferentes formatos de texto. Leyenda de formato Formato Significado Informacin que debe Cursiva suministrar el usuario Elementos que debe escribir el Negrita usuario exactamente como se muestran Parmetro que se puede repetir Puntos suspensivos (...) varias veces en una lnea de comandos Entre corchetes ([]) Elementos opcionales Entre llaves ({}); Conjunto de opciones de las que opciones separadas el usuario por barras verticales (|). debe elegir slo una Ejemplo: {par|impar} Cdigo o resultado del Fuente Courier programa

Utilizar varios comandos y smbolos de procesamiento condicional Puede ejecutar varios comandos desde una lnea de comandos o secuencia de comandos si utiliza smbolos de procesamiento condicional. Al ejecutar varios comandos con smbolos de procesamiento condicional, los comandos que hay a la derecha del smbolo de

procesamiento condicional actan basndose en el resultado del comando que hay a la izquierda del smbolo de procesamiento condicional. Por ejemplo, puede ejecutar un comando solamente si el anterior causa un error. Tambin puede ejecutar un comando solamente si el anterior es correcto. Puede usar los caracteres especiales enumerados en la tabla siguiente para pasar varios comandos. Carcter Sintaxis Definicin Utilcelo para separar distintos comandos en una misma lnea de comandos. & [...] comando1 &comando2 Cmd.exe ejecuta el primer comando y despus el segundo comando. Utilcelo para ejecutar el comando que hay a continuacin de && slo si el comando que hay antes del smbolo es correcto. && [...] comando1 &&comando2 Cdm.exe ejecuta el primer comando y, a continuacin, ejecuta el segundo comando solamente si el primero se completa correctamente Utilcelo para ejecutar el comando que hay a continuacin de || slo si el comando que hay antes del smbolo || es errneo. Cmd.exe || [...] comando1 || comando2 ejecuta el primer comando y, a continuacin, ejecuta el segundo comando solamente si el primer comando no se complet

( ) [...]

(Command1 & Command2) comando1 parmetro1;parmetro2

;o,

correctamente (recibe un cdigo de error mayor que cero). Utilcelo para agrupar o anidar varios comandos. Utilcelo para separar parmetros de comandos.

Notes Los caracteres "y" comercial, (&), barra vertical (|) y parntesis ( ) son caracteres especiales que deben ir precedidos del carcter de escape (^) o de comillas cuando se pasan como argumentos. Si un comando completa una operacin correctamente, devuelve un cdigo de salida cero (0) o no devuelve ningn cdigo de salida. Para obtener informacin acerca de los cdigos de salida, vea Utilizar los Kits de recursos e implementacin de Microsoft Windows. Shells de comandos anidados Puede anidar shells de comandos en Cmd.exe si abre una nueva instancia de Cmd.exe en el smbolo del sistema. De forma predeterminada, cada instancia de Cmd.exe hereda el entorno de su aplicacin Cmd.exe principal. Al anidar ejecuciones de Cmd.exe, puede realizar cambios en el entorno local y sin afectar a la aplicacin primaria de Cmd.exe. Esto permite preservar el entorno original de Cmd.exe y volver a l cuando termine el shell de comandos anidados. Los cambios que realice en el shell de comandos anidados no se guardan. Para anidar una shell de comandos, escriba en el smbolo del sistema: cmd Aparecer un mensaje similar al siguiente: Microsoft (R) Windows Server 2003, Standard Edition (TM)(C) Copyright 1985-2002 Microsoft Corp. Para cerrar el shell de comandos anidados, escriba exit. Podr localizar cambios ms adelante en una ejecucin de Cmd.exe (o en una secuencia de comandos) si utiliza los comandos setlocal y endlocal. Setlocal crea un mbito local y endlocaltermina el mbito local. Los cambios que realice en el mbito de setlocal y endlocal se descartan y, por lo tanto, dejan el entorno original sin modificar. Puede anidar estos dos comandos hasta un mximo de 32 niveles. Para obtener ms informacin

acerca de los comandos setlocal y endlocal, vea Setlocal y Endlocal. Utilizar variables de entorno con Cmd.exe El entorno del shell de comandos Cmd.exe se define mediante variables que determinan el comportamiento del shell de comandos y del sistema operativo. Puede definir el comportamiento del entorno del shell de comandos o de todo el entorno del sistema operativo si utiliza dos tipos de variables de entorno, de sistema y locales. La variables de entorno de sistema definen el comportamiento del entorno global del sistema operativo. Las variables de entorno locales definen el comportamiento del entorno de la instancia actual de Cmd.exe. Las variables de entorno del sistema estn preestablecidas en el sistema operativo y se encuentran disponibles para todos los procesos del sistema operativo de servidor Windows. Solamente los usuarios con credenciales administrativas pueden cambiar variables del sistema. Estas variables se utilizan normalmente en secuencias de comandos de inicio de sesin. Las variables de entorno locales slo estn disponibles cuando el usuario para el que se crearon ha iniciado sesin en el equipo. Las variables locales establecidas en la seccinHKEY_CURRENT_USER slo son vlidas para el usuario actual, pero definen el comportamiento del entorno global del sistema operativo. La lista siguiente describe los diversos tipos de variables en orden descendente de prioridad: 1. Variables de sistema integradas 2. Variables del sistema de la seccin HKEY_LOCAL_MACHINE 3. Variables locales de la seccin HKEY_CURRENT_USER 4. Todas las variables de entorno y rutas de acceso establecidas en el archivo Autoexec.bat 5. Todas las variables de entorno y rutas de acceso establecidas en una secuencia de comandos de inicio de sesin (si existe alguna) 6. Variables utilizadas interactivamente en una secuencia de comandos o un archivo por lotes En el shell de comandos, cada instancia de Cmd.exe hereda el entorno de su aplicacin principal. Por lo tanto, puede cambiar las variables en el nuevo entorno de Cmd.exe sin que afecte al entorno de la aplicacin principal. En la tabla siguiente se enumeran las variables de entorno locales y del sistema para los sistemas operativos de servidor de Windows. Variable %ALLUSERSPROFILE% Tipo Local Descripcin Devuelve la ubicacin de perfil Todos los usuarios.

%APPDATA%

%CD%

%CMDCMDLINE%

%CMDEXTVERSION%

%COMPUTERNAME%

%COMSPEC%

%DATE%

%ERRORLEVEL%

Devuelve la ubicacin en que las aplicaciones Local guardan los datos de forma predeterminada. Devuelve la Local cadena del directorio actual. Devuelve la lnea de comandos exacta Local utilizada para iniciar el Cmd.exe actual. Devuelve el nmero de versin de Sistema Extensiones del procesador de comandos actual. Devuelve el Sistema nombre del equipo. Devuelve la ruta de acceso exacta Sistema al ejecutable del shell de comandos. Devuelve la fecha actual. Utiliza el mismo formato que el comando date /t. Generado por Sistema Cdm.exe. Para obtener ms informacin acerca del comando date, vea Fecha. Devuelve el cdigo de error del ltimo Sistema comando utilizado. Usualmente, los valores distintos

%HOMEDRIVE%

%HOMEPATH%

%HOMESHARE%

de cero indican que se ha producido un error. Devuelve la letra de unidad de la estacin de trabajo local del usuario conectada al directorio principal del usuario. Se establece segn Sistema el valor del directorio principal. El directorio principal del usuario se especifica en Usuarios y grupos locales. Devuelve la ruta de acceso completa del directorio principal del usuario. Se establece segn el Sistema valor del directorio principal. El directorio principal del usuario se especifica en Usuarios y grupos locales. Devuelve la ruta de acceso de red del directorio principal Sistema compartido del usuario. Se establece segn el valor del

directorio principal. El directorio principal del usuario se especifica en Usuarios y grupos locales. Devuelve el nombre del controlador de %LOGONSERVER% Local dominio que valid la sesin actual. Especifica el nmero de %NUMBER_OF_PROCESSORS% Sistema procesadores instalados en el equipo. Devuelve el nombre del sistema operativo. %OS% Sistema En Windows 2000 se muestra el sistema operativo Windows NT. Especifica la ruta de acceso de %PATH% Sistema bsqueda para los archivos ejecutables. Devuelve una lista de extensiones de archivo que el %PATHEXT% Sistema sistema operativo considera como ejecutables. Devuelve la arquitectura de chip del procesador. %PROCESSOR_ARCHITECTURE% Sistema Valores: x86 o IA64 (basado en Itanium).

%PROCESSOR_IDENTFIER%

%PROCESSOR_LEVEL%

%PROCESSOR_REVISION%

%PROMPT%

%RANDOM%

%SYSTEMDRIVE%

%SYSTEMROOT%

%TEMP% y %TMP%

Devuelve una Sistema descripcin del procesador. Devuelve el nmero de modelo del Sistema procesador instalados en el equipo. Devuelve el nmero de Sistema revisin del procesador. Devuelve la configuracin del smbolo del sistema del Local intrprete actual. Generado por Cmd.exe. Devuelve un nmero decimal aleatorio entre 0 Sistema y 32767. Generado por Cmd.exe. Devuelve la unidad que contiene el directorio raz del sistema Sistema operativo de servidor de Windows (es decir, la raz del sistema). Devuelve la ubicacin del directorio del Sistema sistema operativo de servidor de Windows. Devuelve los Sistema directorios y temporales usuario predeterminados que utilizan

%TIME%

%USERDOMAIN%

%USERNAME%

%USERPROFILE%

%WINDIR%

las aplicaciones disponibles para los usuarios conectados actualmente. Algunas aplicaciones requieren TEMP y otras requieren TMP. Devuelve la hora actual. Utiliza el mismo formato que el comando time /t. Generado por Sistema Cdm.exe. Para obtener ms informacin acerca del comando time, vea Time. Devuelve el nombre del dominio que Local contiene la cuenta de usuario. Devuelve el nombre del Local usuario que ha iniciado la sesin actual. Devuelve la ubicacin del Local perfil del usuario actual. Devuelve la ubicacin del Sistema directorio del sistema operativo.

Configurar las variables de entorno Utilice el comando set para crear, cambiar, eliminar o mostrar variables de entorno. El comando set altera variables solamente en el entorno de shell actual. Para ver una variable, escriba en el smbolo del sistema:

setnombreDeVariable Para agregar una variable, escriba en el smbolo del sistema: setVariableName=Value Para eliminar una variable, escriba en el smbolo del sistema: setnombreDeVariable= Puede usar la mayor parte de los caracteres como valores de variables, incluido el espacio en blanco. Si utiliza los caracteres especiales <, >, |, & o ^, debern ir precedidos del carcter de escape (^) o de comillas. Si utiliza comillas, se incluyen como parte del valor debido a que todo lo que sigue al signo igual se toma como un valor. Tenga en cuenta los siguientes ejemplos: Para crear el valor de variable nuevo&nombre, escriba: set nombreDeVariable=nuevo&nombre Para crear el valor de variable "nuevo&nombre", escriba: set nombreDeVariable="nuevo&nombre" Si escribe set nombreDeVariable=nuevo&nombre en el smbolo del sistema, aparecer un mensaje de error similar al siguiente:

"'nombre' no se reconoce como comando interno o externo, un programa o un archivo por lotes ejecutable."

Los nombres de variables no distinguen entre maysculas y minsculas. Sin embargo, set muestra la variable exactamente como se escribi. Puede combinar letras en maysculas y minsculas en los nombres de variables para que el cdigo sea ms legible (por ejemplo, NombreUsuario). Notes El tamao mximo de una variable de entorno individual es de 8192 bytes. El tamao mximo total para todas las variables de entorno, incluidos los nombres de variable y el signo igual, es de 65.536 KB. Sustituir valores de variables de entorno

Para habilitar la sustitucin de valores de variables en la lnea de comandos o en secuencias de comandos, ponga smbolos de porcentaje alrededor del nombre de la variable (por ejemplo,%nombreDeVariable%). Al utilizar signos de porcentaje, se asegura de que Cmd.exe hace referencia a los valores de la variable en lugar de realizar una comparacin literal. Tras definir los valores de un nombre de variable, escriba el nombre de la variable entre signos de porcentaje. Cmd.exe busca todas las instancias del nombre de la variable y lo reemplaza por el valor de variable definido. Por ejemplo, si crea una secuencia de comandos que contenga diferentes valores (por ejemplo, nombres de usuario) y desea definir la variable de entorno NOMBREUSUARIO para cada usuario con estos valores, puede escribir una secuencia de comandos utilizando la variable NOMBREUSUARIO entre signos de porcentaje. Cuando ejecute esta secuencia de comandos, Cmd.exe reemplaza %NOMBREUSUARIO% con los valores de la variable y se elimina la necesidad de realizar esta tarea manualmente para cada usuario. La sustitucin de variables no es recursiva. Cmd.exe comprueba las variables una vez. Para obtener ms informacin acerca de la sustitucin de variables, vea For y Call.

También podría gustarte