Powershell - Scripting

Windows PowerShell es un command-line shell y scripting languagediseñado especialmente para la administración del sistema. Su análogo en Linux se llama Bash Scripting. Basado en .NET Framework, Windows PowerShell ayuda a los profesionales de TI a controlar y automatizar la administración del sistema operativo Windows y las aplicaciones que se ejecutan en el entorno Windows Server.

Comandos de Windows PowerShell, llamados cmdlets, le permite administrar las computadoras desde la línea de comandos. Los proveedores de Windows PowerShell le permiten acceder a los almacenes de datos, como el Registro y el Almacén de certificados, tan fácilmente como accede al sistema de archivos.

Además, Windows PowerShell tiene un analizador de expresiones enriquecido y un lenguaje de secuencias de comandos completamente desarrollado. Entonces, en palabras simples, puede completar todas las tareas que realiza con GUI y mucho más. Windows PowerShell Scripting es un lenguaje de secuencias de comandos completamente desarrollado y tiene un analizador de expresiones /

Caracteristicas

  • Cmdlets - Los cmdlets realizan tareas comunes de administración del sistema, por ejemplo, administrar el registro, los servicios, los procesos, los registros de eventos y el uso de Windows Management Instrumentation (WMI).

  • Task oriented - El lenguaje de scripting de PowerShell se basa en tareas y proporciona soporte para scripts y herramientas de línea de comandos existentes.

  • Consistent design- Dado que los cmdlets y los almacenes de datos del sistema utilizan una sintaxis común y tienen convenciones de nomenclatura comunes, el intercambio de datos es fácil. La salida de un cmdlet se puede canalizar a otro cmdlet sin ninguna manipulación.

  • Simple to Use - La navegación simplificada basada en comandos permite a los usuarios navegar por el registro y otros almacenes de datos similares a la navegación del sistema de archivos.

  • Object based- PowerShell posee potentes capacidades de manipulación de objetos. Los objetos se pueden enviar a otras herramientas o bases de datos directamente.

  • Extensible interface. - PowerShell se puede personalizar ya que los proveedores de software independientes y los desarrolladores empresariales pueden crear herramientas y utilidades personalizadas utilizando PowerShell para administrar su software.

Variables

Las variables de PowerShell se denominan objetos. Como PowerShell trabaja con objetos, estas variables se utilizan para trabajar con objetos.

Creando variable

El nombre de la variable debe comenzar con $ y puede contener caracteres alfanuméricos y guiones bajos en sus nombres. Se puede crear una variable escribiendo un nombre de variable válido.

Escriba el siguiente comando en la consola de PowerShell ISE. Suponiendo que se encuentra en la carpeta D: \ test.

$location = Get-Location

Aquí hemos creado una variable $ location y le hemos asignado la salida del cmdlet Get-Location. Ahora contiene la ubicación actual.

Usando variable

Escriba el siguiente comando en la consola de PowerShell ISE.

$location

Salida

Puede ver el siguiente resultado en la consola de PowerShell.

Path                                                                                    
----                                                                                    
D:\test

Obteniendo información de variable

El cmdlet Get-Member puede indicar el tipo de variable que se está utilizando. Vea el ejemplo a continuación.

$location | Get-Member

Salida

Puede ver el siguiente resultado en la consola de PowerShell.

TypeName: System.Management.Automation.PathInfo

Name          MemberType   Definition                                               
----          ----------   ----------                                               
Equals        Method       bool Equals(System.Object obj)                           
GetHashCode   Method       int GetHashCode()                                        
GetType       Method       type GetType()                                           
ToString      Method       string ToString()                                        
Drive         Property     System.Management.Automation.PSDriveInfo Drive {get;}    
Path          Property     System.String Path {get;}                                
Provider      Property     System.Management.Automation.ProviderInfo Provider {get;}
ProviderPath  Property     System.String ProviderPath {get;}