PowerShell Basico
PowerShell Basico
La primera versión 1.0 de PowerShell fue lanzada en 2006. Hoy, PowerShell está en la versión 7.
Con el paso de los años y las versiones, las capacidades y ambientes de alojamiento de PowerShell
crecieron significativamente.
Cmdlet de PowerShell
Un cmdlet que también es llamado Command let es un comando ligero usado en el entorno de la
ventana base de PowerShell. PowerShell invoca estos cmdlets en la línea de comandos.
Un cmdlet siempre consiste en un verbo y un sustantivo, separados por un guión. Algunos de los
verbos principales que se usan para PowerShell, son:
• Get - conseguir algo.
• Start - Para ejecutar algo.
• Out - Para la salida de algo.
• Stop - Para detener algo que está corriendo.
• Set - Para definir algo.
• New - Para crear algo.
Es muy útil utilizar el editor de scripts Windows PowerShell ISE provee un entorno completo para
el desarrollo de scripts de Windows PowerShell. Este nos ofrece diferentes ventajas (Panel de
comandos, Visualización de scripts, Intellisense, etc).
1
Scripts de PowerShell
Los Scripts de Powershell se almacenan en un archivo .ps1. De forma predeterminada, no se puede
ejecutar un script con sólo hacer doble clic en el archivo. Esto protege tu sistema de daños
accidentales.
1) Abrir una ventana de PowerShell con privilegios. Haz clic derecho en PowerShell o PowerShell
ISE y "Ejecutar como Administrador".
2
- Puedes comprobar que ha cambiado:
***Si estas usando la versión de Windows Server 2109 es posible que el resultado sea distinto, y no
sea necesario realizar dicho cambio:
La opción “RemoteSigned” nos permite ejecutar scripts locales sin ningun problema.
Ejecutar un script
Una vez realizados los cambios del punto anterior, para ejecutar un script, podemos hacerlo de
diferentes formas:
3
PROGRAMACIÓN BÁSICA CON POWERSHELL
1) Variables
Las variables se declaran en la forma $ <variable>
$resultado=”Correcto”
Puedes ver una tabla con los diferentes tipos de datos en el enlace:
http://somebooks.es/capitulo-3-variables-powershell/5/
Revisa el enlace, y prueba a ejecutar los dos scripts siguientes, observando las diferencias.
http://somebooks.es/capitulo-3-variables-powershell/6/
4
***Al utilizar el comando Read-Host, por defecto el tipo de variable sera de tipo “string” (cadena
de texto)
***PowerShell ISE mantiene el valor de las variables entre distintas ejecuciones de scripts. En
ocasiones es necesario borrar las variables empleadas:
Remove-Variable * -ErrorAction SilentlyContinue
add-Content "C:\" -NoNewline
5
3) Operadores
6
Operadores de asignación: Permiten asignar a una variable el resultado de una operación
4) Estructuras condicionales
Estructura IF-ELSE:
http://somebooks.es/capitulo-5-estructuras-condicionales/2/
Estructura SWITCH:
http://somebooks.es/capitulo-5-estructuras-condicionales/3/
5) Estructuras repetitivas:
Estructura WHILE:
http://somebooks.es/capitulo-6-estructuras-repetitivas/3/
Estructura FOR:
http://somebooks.es/capitulo-6-estructuras-repetitivas/5/
Estructura FOREACH:
http://somebooks.es/capitulo-6-estructuras-repetitivas/6/
***Normalmente se suele utilizar Write-Host y Write-Ouput para sacar por pantalla alguna
información. Pero hay una gran diferencia, Write-Host escribe directamente en pantalla el resultado,
mientras que Write-Output genera como salida un objeto (o varios) que puede ser canalizado a otros
comandos.
7
7)Añadir comentarios
Para comentar líneas dentro de nuestro script usaremos el símbolo #
#linea comentada
8) Argumentos
Ejemplo de script al que le pasaremos dos parámetros:
9) Archivos y carpetas
Mostrar contenido de una carpeta:
Get-ChildItem (dir)
Eliminar
Remove-Item C:\temp\DeleteMe
Renombrar
Rename-Item “nombre_original” “nombre_modificado”
Mover (y renombrar)
Move-Item “origen” “destino”
Borrar contenido
Clear-Content archivo.txt