none
Llamar valores de una funcion RRS feed

  • Pregunta

  • Estimados:

    Tengo una consulta y seré breve. Actualmente este es mi código:

    Creé una función con la siguiente información ya que se me repite en varias opciones de Switch 

    function Datos{

    Write-Host -foregroundcolor yellow -object "Ingrese Nombre: " -NoNewline
    $FirstName = Read-Host
    #
    Write-Host -foregroundcolor yellow -object "Ingrese Apellidos: " -NoNewline
    $LastName = Read-Host
    #
    Write-Host -foregroundcolor yellow -object "Ingrese direccion de correo principal: " -NoNewline
    $UPN = Read-Host
    #
    $DisplayName = $FirstName + " " +  $LastName
    #
    return Datos

    Una vez llegando al Switch, no puedo acceder a las variables

    switch($var){
        1 {
    Datos
    New-MsolUser -DisplayName $Datos.DisplayName -FirstName $Datos.FirstName -LastName $Datos.LastName -UserPrincipalName $Datos.UPN -UsageLocation CL -LicenseAssignment XXXXXXXXXX:STANDARDPACK -Password abcd.1234
    }
        2 {

    La pregunta es: Como puedo obtener los datos que fueron ingresados en las variables de la función anterior y utilizarlos en el Switch?

    Quedo atento a sus comentarios. De antemano muchas gracias!!

    Pablo Galarce - Ingeniero en informática - Chile

    martes, 24 de enero de 2017 15:19

Todas las respuestas

  • Hola Pablo

    El objetivo de tu código es crear un usuario en Office 365, usando como referencia los datos que ingresa el usuario y que son tomados de la función datos !? Si es así, cual es el objetivo de usar la condición Switch !? Disculpa que te cuestione, pero quisiera entender bien tu requerimiento para buscar la mejor forma de ayudarte.

    Saludos,


    Jimcesse
    Principal: http://sysadmin-cr.com/
    Alterno: http://blogs.itpro.es/jimcesse
    

    martes, 24 de enero de 2017 15:58
  • Hola Pablo

    El objetivo de tu código es crear un usuario en Office 365, usando como referencia los datos que ingresa el usuario y que son tomados de la función datos !? Si es así, cual es el objetivo de usar la condición Switch !? Disculpa que te cuestione, pero quisiera entender bien tu requerimiento para buscar la mejor forma de ayudarte.

    Saludos,


    
    

    Así es, quiero crear usuarios en Office 365, la idea del Switch es que permita al usuario administrador elegir el tipo de licencia que quiere asignar al usuario EJ:

    1.- Enterprise E1
    2.- Quiosco
    3.- XXXXXXX

    El Script pregunta primero con que licencia se quiere crear el usuario, luego dependiendo de la opción que eligió el administrador ingresa al Switch correspondiente a la licencia.

    Quedo atento a tu respuesta.


    martes, 24 de enero de 2017 16:15
  • Hola Pablo... Ok ahí me queda mas claro... Parte del problema es como declaras la función y luego como la llamas para ingresar al ciclo. Mira el ejemplo:

    Function Get-Data {
    [cmdletbinding()]
    Param (
    [string]$FirstName, 
    [string]$LastName, 
    [string]$UPN
       ) 
    # End of Parameters
    Process {
    Write-Host -foregroundcolor yellow -object "Ingrese Nombre: " -NoNewline
    $FirstName = Read-Host
    #
    Write-Host -foregroundcolor yellow -object "Ingrese Apellidos: " -NoNewline
    $LastName = Read-Host
    #
    Write-Host -foregroundcolor yellow -object "Ingrese direccion de correo principal: " -NoNewline
    $UPN = Read-Host
    #
    $DisplayName = $FirstName + " " +  $LastName
    #
    
    Return ($FirstName, $LastName, $UPN, $DisplayName)
        } # End of Process
    
    }
    
    $UserInput = Get-Data
    Write-Host $UserInput[0], $UserInput[1], $UserInput[2], $UserInput[3]

    Luego de llamar a la función te va a devolver los resultados en un array llamado $UserInput que luego este seria el que debes de meter dentro del Switch.

    Saludos, 

     

    Jimcesse
    Principal: http://sysadmin-cr.com/
    Alterno: http://blogs.itpro.es/jimcesse
    

    martes, 24 de enero de 2017 18:13
  • Gracias por la ayuda, finalmente hice el Script viendo otro hilo que yo mismo creé. De todas maneras muchas gracias por la información, le voy a echar un vistazo. Que tengas una excelente semana

    Pablo Galarce - Ingeniero en Informática - Chile

    miércoles, 25 de enero de 2017 12:42