Buscar este blog

lunes, 21 de octubre de 2013

Windows Server 2012 5. Ejercicios Powershell

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