none
Manejo de variables RRS feed

  • Pregunta

  • Hola a todos.

    Llevo poco en esto de powershell y me gustaría saber como puedo hacer para mostrar en pantalla un conjunto de usuario que guardo en una variable, me explico, tengo la variable $data = get-content "c:\temp.txt" en donde el txt contiene 4 usuarios de red:

    PS C:\Windows\system32> $data
    asdf
    gfsd
    sdf
    qwer

    Me gustaría mostrar en pantalla solo estos usuarios mas no todos los usuarios usando un format-table pero no se como capturar y mostrar estos tres usuarios. Había pensado en un ciclo pero la idea no es que aparezca así por cada usuario

    Campo campo
    ---------- ---------

    <info>     <info>

    por el contrario la idea es que en un mismo ft se puede agrupar toda la información.

    Campo campo
    ---------- ---------

    <info1>     <info1>
    <info2>     <info2>
    <info3>     <info3>

    Gracias por la colaboración que me puedan brindar.


    Daniel Muñoz


    • Editado Jacobo Muñoz miércoles, 29 de abril de 2015 22:10 Aclarar la pregunta
    miércoles, 29 de abril de 2015 22:01

Respuestas

  • Si lo que buscas es sacar usuarios de directorio activo tienes que usar un foreach, para que que por cada entrada cargada en la variable haga una consulta, puedes usar el siguiente codigo:

     $data = get-content "C:\Users\sergio.sanroman\Desktop\users.txt"
    foreach ($elemento in $data){
    Get-ADUser -identity $elemento
    }

    Eso te devolverá los datos de los usuarios que tienes el archivo txt.

    Luego para recuperar solo ciertos atributos de cada usuarios en listas

    Deberas usar el Format-list con el modificador Property para elegir que atributos del objeto quieres recuperar, si por ejemplo quieres recuperar el Samaccount name:

     $data = get-content "C:\Users\sergio.sanroman\Desktop\users.txt"
    foreach ($elemento in $data){
    Get-ADUser -identity $elemento | Format-List -Property samaccountname
    }

    El ultimo te devolverá una lista tipo:

    samaccountname  :  usuario01

    samaccountname  :  usuario02

    Si lo que deseas es que no aparezca el samaccountname puedes usar esta otra consulta:

     $data = get-content "C:\Users\sergio.sanroman\Desktop\users.txt"
    foreach ($elemento in $data){
    (Get-ADUser -identity $elemento).samaccountname 
    }

    Eso solo te devolverá una lista tipo:

    Usuario01

    Usuario02

    Eliminando el nombre del atributo recuperado del objeto.

    Luego ya esta que modifiques la consulta con los campos que quieras recuperar y como quieras formatearlos a la hora de mostarlos.

    Espero que te sea de ayuda la informacion.

    Saludos.

    Sergio San Roman Moreno

    http://blogs.itpro.es/readyplayerone/


    jueves, 30 de abril de 2015 10:09