sábado, 29 de febrero de 2020

PowerShell en Windows Server

Algunos de los nuevos Roles y características de Windows Server 2016 solo se pueden desplegar utilizando cmdlets de Windows PowerShell o necesitan alguna configuración posterior a la instalación que se debe realizar mediante el uso de comandos. Por ese motivo es imprescindible para cualquier profesional que desee gestionar Windows Server el dominar una serie de conocimientos básicos del funcionamiento de PowerShell.

La sintaxis de Windows PowerShell es muy intuitiva, los comandos o cmdlets son muy descriptivos y una vez familiarizados con los primeros cmdlets es realmente sencillo comprender cómo funcionan o para qué sirven otros comandos o scripts posteriormente.

Un comando está formado por un verbo y un nombre, normalmente, separados por un guion, después se definen los parámetros del cmdlet. Realizar operaciones en el sistema de archivos es fácil, además de poder utilizar alias conocidos como cd, del, erase, move o copy, la sintaxis de Windows PowerShell es muy simple.

Verbo-Nombre  –Parámetro [opción de parámetro] 
 


En Windows PowerShell v5 New-Item, Remove-Item y Get-ChildItem se han mejorado para admitir la creación y administración de enlaces simbólicos. El parámetro -ItemType para New-Item acepta un nuevo valor para este propósito denominado SymbolicLink.

La gestión de archivos puede realizarse con los cmdlet Get-Content, Set-Content y Out-File pero también admite los alias cat, gc o type, además de la redirección con el carácter  > o >> en función de si se debe crear o agregar información a un archivo. A continuación se muestran algunos ejemplos...

Get-Date | Set-Content -Path "C:\date.csv"
Get-Content Orig.xml | Set-Content DST.xml -Force -Encoding UTF8

Microsoft Research ha desarrollado un nuevo cmdlet denominado ConvertFrom-String que permite extraer y analizar objetos estructurados del contenido de cadenas de texto.

"Texto Prueba" | ConvertFrom-String
"Texto Prueba" | ConvertFrom-String -Delimiter "l2"
"Texto Prueba" | ConvertFrom-String -PropertyNames FirstWord, SecondWord

Además el modulo Microsoft.PowerShell.Archive proporciona cmdlets para realizar operaciones de compresión o descompresión ZIP de archivos y carpetas.

Compress-Archive [-Path] <String[]> [-DestinationPath] <String> [-CompressionLevel <String>] [-WhatIf] [-Confirm] [<CommonParameters>]
Expand-Archive [-Path] <String> [[-DestinationPath] <String>] [-Force] [-WhatIf] [-Confirm] [<CommonParameters>]

Windows PowerShell v5 puede transmitir datos estructurados entre un script y su host mediante un nuevo flujo de información estructurado. Write-Host se actualizó para emitir su salida en el flujo de información, además un nuevo cmdlet Write-Information junto con la API WriteInformation usa los parámetros -InformationVariable e -InformationAction  para brindar más flexibilidad.

En el libro Windows Server 2016: Administración, seguridad y operaciones de la Editorial 0xWord se explica ampliamente el uso de PowerShell en Servidores.

Seguridad a lo Jabalí para Todos!!

No hay comentarios:

Publicar un comentario

Archivo del blog

Consultor e Instructor de Sistemas y Seguridad Informática en Asturias