¡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 2022
  3. PowerShell
Extrait - Windows Server 2022 Las bases imprescindibles para administrar y configurar su servidor
Extractos del libro
Windows Server 2022 Las bases imprescindibles para administrar y configurar su servidor 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 se ha enriquecido constantemente y ofrece una multitud de conjuntos de comandos. Los comandos DOS también pueden utilizarse en la consola PowerShell mediante el uso del alias (get-alias para obtener una 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…) se requiere instalarlo. Destacamos, a su vez, que ciertas aplicaciones (Microsoft Deployment Toolkit, por ejemplo) requieren obligatoriamente la presencia de la plataforma PowerShell para funcionar.

2. La consola PowerShell

Los distintos comandos se introducen mediante la consola PowerShell. Esta tiene un aspecto gráfico muy cercano a una consola de comandos DOS.

images/cap18_img01.png

Es posible autocompletar una ruta, un nombre de comando, etc., pulsando en 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.

3. La consola Windows PowerShell ISE

Esta...

Ayuda con PowerShell

Todos hemos utilizado, 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/cap18_img03.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/cap18_img04.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.

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...

La sintaxis PowerShell

Un comando se compone de un verbo y de un nombre, separados mediante un guion (-). 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.). Este último constituye el comando. 

Como con los comandos DOS, el análisis sintáctico de PowerShell no distingue entre mayúsculas y minúsculas.

1. Los comentarios

Como en todos los lenguajes 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 emplea una sintaxis particular.

Funciona únicamente desde PowerShell v2.0.

Se usan los caracteres <# al inicio del bloque de comentario y, a continuación, para marcar el fin del bloque se insertan los caracteres #>.

images/18RI07.png

El intérprete de comandos no tendrá en cuenta la línea incluida como comentario.

2. Las comillas

Es necesario delimitar las cadenas de caracteres para ayudar a que el analizador sintáctico comprenda mejor la sintaxis. Las comillas (") se utilizan generalmente para realizar esta operación. Esta...

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 un bloque mientras se cumpla una 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, la comprobación se realiza 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 permite determinar de antemano el número de veces que el bloque de instrucciones se ejecuta. La ejecución se realiza mientras el valor indicado al inicio no se alcance. 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, que permite especificar cómo se tratan los flujos de información para un comando. Los parámetros InformationVariable e InformationAction permiten determinar la manera en la que se muestran los flujos.

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

Por tanto, es posible, y esto de forma 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 archivo al archivo comprimido), así como la tasa de compresión, pueden definirse al 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.

Al igual que con Office, PowerShell es ahora «gestionable» mediante directivas de grupo. Un archivo ADMX está presente en el sistema operativo y da acceso a ciertos parámetros....