Está en la página 1de 11

PowerShell.

Parte 2
Windows PowerShell ISE

-Windows PowerShell Integrated Scripting Environment (ISE) es una aplicación


host de Windows PowerShell. En el ISE, puede ejecutar comandos y escribir,
comprobar y depurar scripts en una interfaz gráfica de usuario único basado
en Windows.
-Para iniciar Windows PowerShell ISE:
-Haga clic en Inicio, seleccione Windows PowerShell y, después, haga clic
en Windows PowerShell ISE.
-Como alternativa, puede escribir powershell_ise.exe en cualquier shell
de comandos o en el cuadro Ejecutar.

Si al ejecutar un script en ISE sale el error de que en el sistema esta


deshabilitada la ejecución de scripts. Abrimos el Windows PowerShell como
administrador y ejecutamos el comando “Get-ExecutionPolicy” nos tendría que
devolver “Unrestricted” o lo que es lo mismo “Restringido”. Para cambiar esta
configuración basta con ejecutar “Set-ExecutionPolicy Unrestricted”.

PowerShell by JGD
Los bucles: while

-Un bucle es una estructura repetitiva que permite ejecutar varias veces las
instrucciones que contiene:
-While
While (<condicion>)
{
#bloque de instrucciones
}

$numero = 0
$max = 99
While ($numero –lt $max)
{
Write-Host $numero
$numero ++
}

PowerShell by JGD
Los bucles

PowerShell by JGD
Los bucles: For

- For (<inicial>;<condición>;<incremento>)
-{
-Bloque de instrucción
-}

For ($i=0; $i –le 99)


{
Write-Host $i
}

PowerShell by JGD
Los bucles: Foreach-Object

-Hablando con propiedad Foreach-Object es un commandlet y no un bucle.


Permite recorrer los valores contenidos en una colección:
-Foreach ($<elemento> in $<colección>)
{
#bloque de instrucciones
}

Ejemplo (generar el siguiente script en el ISE y ejecutar)


Foreach ($element in Get-Process)
{
Write-Host “$($element.Name) iniciado el: $($element.StartTime)”
}

PowerShell by JGD
Los bucles: Foreach-Object

PowerShell by JGD
Estructura condicional If, Else, Elseif

Ejemplo:
If ( ($var1 –eq 15) –and ($var2 –eq 18) )
{
# Bloque de instrucciones 1
}
ElseIf ($var1 –ge 20 )
{
# Bloque de instrucciones 2
}
Else
{
# Bloque de instrucciones 3
}

Utiliza el comando $Error para ver la lista de errores y


$Error[0] para el último error producido.

PowerShell by JGD
Las funciones

-En PowerShell, igual que en numerosos lenguajes, una función es un conjunto


de instrucciones a los que se le da un nombre y se pueden llamar repetidas
veces.
-Permiten hacer referencia a ella.

Ejemplo:
Function Hola
{
$date = Get-Date
Write-Host “Hola, estamos a fecha $date”
}

Ejecutamos: PS > Hola

Y mostraría: Hola, estamos a fecha xxxx

PowerShell by JGD
Práctica de archivos y fechas

1. Crear en el directorio c:\temp el archivo prueba.txt


2. Mostrar el archivo y las fechas CreationTime LastAccessTime
LastWriteTime
3. Define tres variables para cada una de las fechas y asigna una fecha
distinta a cada una
4. Asigna las variables a las fechas correspondientes del archivo
5. Mostrar de nuevo el archivo y las fechas CreationTime
LastAccessTime LastWriteTime

Utiliza el comando Get-History o ghy para ver el histórico de


comandos introducidos

PowerShell by JGD
Práctica de archivos y fechas

Solución:
1 - New-Item -Name prueba.txt -Type File

2 - Get-ChildItem c:\temp -File | select name, *time

3 $fecha_creacion = (Get-Date -Year 1988 -Month 1 -Day 1 -Hour 0 -Minute 0 -


Second 0)
$fecha_ultimo_acceso = (Get-Date -Year 2019 -Month 1 -Day 1 -Hour 0 -Minute 0 -
Second 0)
$fecha_ultima_escritura = (Get-Date -Year 2019 -Month 2 -Day 1 -Hour 0 -Minute 0
-Second 0)

4 $Archivo = Get-Item prueba.txt


$Archivo.CreationTime = $fecha_creacion
$Archivo.LastAccessTime = $fecha_ultimo_acceso
$Archivo.LastWriteTime = $fecha_ultima_escritura

5 Get-ChildItem c:\fso -File | select name, *time

PowerShell by JGD

También podría gustarte