¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. Windows Server 2016
  3. PowerShell
Extrait - Windows Server 2016 Las bases imprescindibles para administrar y configurar su servidor (2ª edición)
Extractos del libro
Windows Server 2016 Las bases imprescindibles para administrar y configurar su servidor (2ª edición) Volver a la página de compra del libro

PowerShell

Introducción a PowerShell

PowerShell es una plataforma que permite ejecutar scripts y también tiene la función de intérprete de comandos.

1. Presentación de PowerShell

Esta plataforma no ha dejado de mejorar con el tiempo y ofrece una gran cantidad de grupos de comandos. Los comandos DOS también pueden ejecutarse a través de la consola PowerShell gracias a alias (get-alias para obtener la correspondencia).

Desde Windows Server 2008 R2 y Windows 7, PowerShell se integra directamente en el sistema operativo. En las versiones anteriores (Windows Vista, XP, 2008...) es necesario realizar una instalación. Destacamos, a su vez, que algunas aplicaciones (Microsoft Deployment Toolkit, por ejemplo) requieren obligatoriamente la presencia de la plataforma PowerShell para poder funcionar.

2. La consola PowerShell

Es posible introducir los distintos comandos mediante la consola PowerShell. Esta tiene un aspecto gráfico muy cercano a una consola de comandos DOS.

images/18RI01.png

Es posible autocompletar una ruta, un nombre de comando, etc., presionando la tecla [Tab]. Recuerde que la funcionalidad para autocompletar consiste en escribir el principio de un comando o de una ruta y dejar que el sistema complete el resto.

Por último, las combinaciones de teclas [Ctrl] C o [Ctrl][Pausa] permite finalizar la ejecución de la instrucción en curso, la primera de ellas, y finalizar la ejecución de la consola, la segunda....

Ayuda con PowerShell

Todos hemos utilizando, en un momento dado, el famoso /? en una consola DOS, lo que permite consultar la sintaxis de un comando y una descripción de sus opciones.

Con PowerShell, la sintaxis es algo diferente. En efecto, es posible consultar la ayuda de un comando escribiendo la instrucción help comando.

images/18RI03.png

Los archivos de ayuda pueden actualizarse fácilmente. Es preciso, no obstante, tener permisos de administrador y ejecutar la consola como administrador.

También se requiere tener conexión a Internet.

Dicha operación se realiza mediante el comando update-help.

images/18RI04.png

Esta actualización afecta únicamente a los archivos en el idioma utilizado y del módulo activo. Si desea actualizar el módulo dism, mientras el módulo activo es AppLocker, deberá escribir el comando anterior seguido de la opción -Module dism.

images/18RI05.png

Es posible ubicar los archivos de ayuda en un recurso compartido para que los equipos que no están conectados a Internet puedan aprovechar la actualización. La operación se realiza, en este caso, en dos partes (se copian los archivos en un recurso compartido de red y se actualizan los equipos desde este repositorio compartido).

Para realizar esta operación, debe utilizar el siguiente comando: Save-Help -DestinationPath "RutaUNC" -Force

Por último, es preciso ejecutar, en los equipos, el siguiente comando: Update-Help -SourcePath...

La sintaxis PowerShell

Un comando se compone de un verbo y de un nombre, separados mediante un guión (-). El objetivo del verbo es describir la acción que se va a realizar:

  • Get (obtiene información).

  • Set (realiza una acción).

  • Add...

El verbo está complementado por un nombre (Acl, etc.), y ambos constituyen el comando. 

Como con los comandos DOS, el análisis de la sintaxis PowerShell no es sensible a mayúsculas y minúsculas.

1. Comentarios

Como en cualquier lenguaje de programación, es posible incluir comentarios en los scripts.

Para diferenciarlos de una instrucción, los comentarios utilizan el carácter almohadilla "#" al principio de la línea. Esto permite considerar la línea como un comentario.

Además, es posible agregar comentarios tras las instrucciones.

images/18RI06.png

Para comentar un bloque entero, se utiliza una sintaxis particular.

Funciona únicamente desde PowerShell v2.0.

Se utilizan los caracteres <# al comienzo del bloque de comentario y, a continuación, para marcar el final del bloque se indican los caracteres #>.

images/18RI07.png

La línea que se incluye como comentario no se tendrá en cuenta en el intérprete de comandos.

2. Las comillas

Es necesario delimitar las cadenas de caracteres con el objetivo de mejorar la comprensión de la sintaxis en el analizador sintáctico. Las comillas (") se utilizan generalmente para realizar...

Los bucles en PowerShell

Los bucles resultan muy útiles en un lenguaje de programación para ejecutar x veces una misma acción.

1. El bucle While

Este tipo de bucle permite repetir las instrucciones presentes en el bucle mientras se cumpla la condición (verdadero).

Este bucle se declara de la siguiente manera:

While condición  
{  
Instrucción 1  
Instrucción 2  
...  
} 

2. El bucle Do-While

Este tipo de bucle es idéntico al anterior; no obstante se realiza la comprobación al final. 

La sintaxis es la siguiente:

Do 
{ 
Instrucción 1 
Instrucción 2 
...  
}  
While condición 

El bucle se ejecuta, obligatoriamente, al menos una vez, y la comprobación se realiza al final.

3. El bucle For

Este tipo de bucle presenta la ventaja de que permite determinar el número de veces que se quiere ejecutar las instrucciones incluidas en el bucle. La ejecución se realiza hasta alcanzar el valor indicado en la variable que define el bucle. Se declara también el paso de incremento.

La sintaxis de este tipo de bucles es la siguiente:

For (<Valor inicial> ; <Condición> ; <Incremento>) 
{  
Instrucción 1  
Instrucción 2  
} 

PowerShell V5

Con el lanzamiento de Windows Server 2016, ha aparecido una nueva versión de PowerShell. Esta sección presenta algunas de sus novedades.

Se ha agregado un nuevo cmdlet, Write-Information. Permite especificar cómo se tratan los flujos de información. Los parámetros InformationVariable e InformationAction permiten determinar la manera en la que se muestran los flujos.

Ahora es posible gestionar los archivos comprimidos. Se ha integrado a la plataforma un nuevo módulo que lo permite. Las mismas operaciones podían realizarse sobre las anteriores versiones, aunque necesitaban agregar módulos desarrollados por la comunidad de Microsoft.

También es posible, de manera nativa, generar un archivo comprimido (compress-archive) o realizar una extracción (expand-archive). Preste atención, sin embargo, pues es importante destacar que solo se gestionan las extensiones zip. La operación de actualización (agregar un nuevo archivo en el archivo comprimido), así como la tasa de compresión pueden definirse en el momento de su generación.

El comando New-item se ha enriquecido, y ahora ofrece la posibilidad de crear accesos directos. Para ello se utiliza el tipo symboliclink.

Como con Office, PowerShell es ahora "administrable" mediante directivas de grupo. Existe un archivo ADMX en el sistema operativo que da acceso a ciertos parámetros.