5. Ejercicios Powershell
2. Crea un cmdlet de powershell que defina un array relacional con las ips de los alumnos. Luego debes crear un bucle foreach para mostrar todos los registros.
--------------------------------------------------------------------------------------------------------------------Las direcciones IP están almacendas en un fichero: IPs.csv con este formato
usuario pdc local
Juan 192.168.45.251 192.168.254.254
# El fichero IPs.csv tiene todos los datos de los usuarios en columnas.
#get-content e:\documentos\IPs.csv
$fichero = Import-Csv -Delimiter " " e:\documentos\IPs.csv
#mostrar el numero de lineas
#Write-Output $fichero.count
#recorrer el contenido y mostrarlo en tablas
for($i=0;$i -lt $fichero.Count; $i++)
{
#Write-Output $fichero[$i]
Write-Output $fichero[$i].usuario
Write-Output $fichero[$i].pdc
Write-Output $fichero[$i].local
write-output "-------------------------------"
}
--------------------------------------------------------------------------------------------------------------------
3. Crea un cmdlet de powershell que tenga un array relacional como el definido antes y que genere las rutas necesarias para llegar a esas máquinas con el comando Set-NetRoute
--------------------------------------------------------------------------------------------------------------------
# 3. Crea un cmdlet de powershell que tenga un array relacional como el definido ante
# y que genere las rutas necesarias para llegar a esas máquinas con el comando Set-NetRoute
#En prueba aun no funciona bien.....
$usuarios = Import-Csv E:\IPs.csv
foreach ($linea in $usuarios){
new-netroute -destinationprefix $usuarios.pdc -nexthop $usuarios.local -ifindex 13
#El valor del -ifindex varia mirar con el get-netroute el valor.
} --------------------------------------------------------------------------------------------------------------------
4.Crea un cmdlet de powershell que defina una función llamada hail. La función debe recibir un parámetros que indique el idioma (es, en, eu, kg, ev). Según el idioma que se introduzca (con un switch case), la función debe mostrar un saludo en ese idioma.
--------------------------------------------------------------------------------------------------------------------
function hail([string]$idioma)
{
switch ($idioma)
{
"es" { Write-Output "Hola Mundo."
}
"en" { Write-Output "Hello Wold"
}
"eu" { Write-Output "Kaiso Mundu"
}
"al" { Write-Output "Hallo Welt"
}
"it" { Write-Output "Ciao Mondo"
}
}
}
$saludo=hail -idioma eu
Write-Output $saludo
--------------------------------------------------------------------------------------------------------------------
5.Crea un cmdlet de powershell que defina una función llamada generaCuentaSegura. La función debe generar una cadena que tenga 3 letras aleatorias seguida de 8 números aleatorios.
--------------------------------------------------------------------------------------------------------------------
$contrasena=generar -num_carac 3 -num_numer 8
Write-Output $contrasena
function generar([int]$num_carac,[int]$num_numer)
{
$caracteres="a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"
$numeros="0","1","2","3","4","5","6","7","8","9"
[string]$nombre=""
for($i=0;$i -lt $num_carac;$i++)
{
$s= Get-Random $caracteres.Length
#Write-Output $caracteres[$s]
[string] $nombre=$nombre+$caracteres[$s]
}
#Write-Output $nombre
for($i=0;$i -lt $num_numer;$i++)
{
$s= Get-Random $numeros.Length
#Write-Output $numeros[$s]
[string]$nombre=$nombre+$numeros[$s]
}
$result=$nombre
}
--------------------------------------------------------------------------------------------------------------------
6. Crea un cmdlet de powershell que defina una función llamada generaCuenta. La función debe como parámetro un Nombre y un Apellido y debe ser capaz de generar un string con la forma nombre_apellido con todo en minúsculas.
--------------------------------------------------------------------------------------------------------------------
function generaCuenta([string]$nombre, [string]$apellido)
{
[string]$minusculas=$nombre.ToLower() + "_" + $apellido.ToLower()
return $minusculas
}
Write-Output "Introducir el nombre de usuario: "
$nom=Read-Host
Write-Output "Introducir el apellido del susario: "
$ape=Read-Host
$resultado=generaCuenta -nombre $nom -apellido $ape
Write-Output $resultado
--------------------------------------------------------------------------------------------------------------------
7. Crea un cmdlet de powershell que defina una función llamada generaNombre.
La función debe recibir como parámetro un número que serán las sílabas. La función debe devolver un nombre que tenga consonante,
vocal, consonante-vocal,.. por ejemplo
generaNombre(6) = manolo
--------------------------------------------------------------------------------------------------------------------
function generaNombre([int]$numero)
{
$consonante="b","c","d","f","g","h","j","k","l","m","n","p","q","r","s","t","v","w","x","y","z"
$vocal="a","e","i","o","u"
for($i=0;$i -lt $numero;$i++)
{
$n=$i%2
if ($($i%2) -eq 0)
{
$s=Get-Random $consonante.Length
$resul=$resul+$consonante[$s]
}else
{
$s= Get-Random $vocal.Length
$resul=$resul+$vocal[$s]
}
}
Write-Output $resul
#$result=$resul
}
$mostrar=generaNombre 8
Write-Output $mostrar
No hay comentarios:
Publicar un comentario