none
Importar usuarios desde archivo plano RRS feed

  • Pregunta

  • Hola compañeros,

    Tengo una duda que me nace con la importacion desde un archivo plano separado por comas (CSV), la verdad es que me llama la atención que sea funcional desde la linea de comando pero no en importación masiva. Me explico con el siguiente ejemplo desde Power Shell en W2008R2 y nivel funcional 2008R2

    New-ADUser -name "Peter Veneno" -sAMAccountName pveneno -GivenName Peter -Surname Veneno -AccountPassword (ConvertTo-SecureString -AsPlainText Pass.123 -Force) -ChangePasswordAtLogon $true -Enabled $true

    El usuario es creado, se asigna la password y se habilita la cuenta y esto queda Ok.

    Pero si eso mismo lo hago en un archivo plano con el siguiente contenido

    name,sAMAccountName,GivenName,Surname,AccountPassword,ChangePasswordAtLogon,Enabled
    Peter Veneno, peter.veneno,Peter,Veneno,(ConvertTo-SecureString -AsPlainText Pass.123 -Force),$true,$true

    Y luego importo desde PS con lo siguiente

    Import-Csv .\User.csv |New-ADUser

    El usuario es creado PERO la cuenta queda deshabilitada, cuando intento habilitar desde el administrador ADDS me dice que no es posible asignar contraseña por que no cumple con los requesitos de longitud, complejidad etc. Incluso probé poniendo mas caracteres y con comillas en el archivo de texto pero aún así no me deja la cuenta habilitada.

    He visto soluciones en las que se hace una especie de script e invoca la linea completa del new-aduser pero lo que necesito saber es si es posible hacerlo de esta forma, es decir, un archivo con todos estos datos e importar con el ejemplo anterior pero quedando las cuentas habilitadas.

    Será un problema del cmdlet o una medida de seguridad? al parecer no toma en cuenta el parametro -AccountPassword cuando es masivo o me está faltando algun otro comando que deba acompañarlo.

    Si alguien lo ha visto agradeceré de los comentarios.


    MG

    viernes, 26 de octubre de 2012 19:54

Respuestas

  • Gracias por las respuestas, como indicas Guillermo al parecer el parametro de la contraseña no es aplicable por lote, de lo contrario te creará todas las cuentas pero sin password y deshabilitadas, asi que opté por darle otra vuelta y finalmente me fui por lo mas sano, busque info de como crear una script powershell e hice un foreach, al cual le paso el archivo plano y por cada ocurrencia ejecuto el New-ADuser con los parámetros que necesito. Así dejo las cuentas con una password, habilitada y obligo a cambiar al proximo logon. Costó pero salió, asi que ahora creo una plantilla en Excel para usar en futuras oportunidades =)

    Hice algo así por si les interesa.

    adduser = imports-csv Adduserfile.csv
    foreach ($usr in $adduser)
    {
    $dato1 = $usr.dato1
    $dato2 = $usr.dato2
    .
    .

    new-aduser -param1 $dato1 -param2 $dato2 .......... -ChangePasswordAtLogon 1 -Enabled 1
    }

    Javier, buscaba algo simple de hacer con una planilla, el Ldifde es mas complejo desde el punto de vista de pasar parámetros, por lo menos así lo veo yo.

    MG

    lunes, 29 de octubre de 2012 21:04

Todas las respuestas

  • El CSVDE no permite asignarle contraseñas a usuarios

    En el primer caso lo haces con PowerShell

    En el segundo PowerShell está ejecutando el CSVDE, y por lo tanto no permite...

    De todas formas hay una solución que puede resultar fácil, y por lo menos cuando yo lo probé se salta toda medida de seguridad

    Luego de importar va a dejar a todas las cuentas deshabilitadas. Click en el primero, mayúsculas click en el último, botón derecho y Enable, quedan todos habilitados y con contraseña en blanco :-(

     


    Guillermo Delprato - Buenos Aires, Argentina
    Visite Windows Server - Todos los Paso a Paso
    MVP - MCT - MCSE - MCSA
    MCSA Windows Server 2008 MCITP: Enterprise Administrator / Server Administrator
    MCTS: Active Directory / Network Configuration / Applications Configuration / Server Virtualization / Windows 7 Configuration / Windows 7 & Office 2010 Deployment / Vista Configuration
    Este mensaje se proporciona "como está" sin garantías de ninguna clase. Usted asume todos los riesgos.

    viernes, 26 de octubre de 2012 22:22
    Moderador
  • Creo recordar que con Ldifde si puedes importar usuarios con contraseñas, y por tanto dejarlos habilitados.

    Un saludo.

    domingo, 28 de octubre de 2012 19:23
  • Gracias por las respuestas, como indicas Guillermo al parecer el parametro de la contraseña no es aplicable por lote, de lo contrario te creará todas las cuentas pero sin password y deshabilitadas, asi que opté por darle otra vuelta y finalmente me fui por lo mas sano, busque info de como crear una script powershell e hice un foreach, al cual le paso el archivo plano y por cada ocurrencia ejecuto el New-ADuser con los parámetros que necesito. Así dejo las cuentas con una password, habilitada y obligo a cambiar al proximo logon. Costó pero salió, asi que ahora creo una plantilla en Excel para usar en futuras oportunidades =)

    Hice algo así por si les interesa.

    adduser = imports-csv Adduserfile.csv
    foreach ($usr in $adduser)
    {
    $dato1 = $usr.dato1
    $dato2 = $usr.dato2
    .
    .

    new-aduser -param1 $dato1 -param2 $dato2 .......... -ChangePasswordAtLogon 1 -Enabled 1
    }

    Javier, buscaba algo simple de hacer con una planilla, el Ldifde es mas complejo desde el punto de vista de pasar parámetros, por lo menos así lo veo yo.

    MG

    lunes, 29 de octubre de 2012 21:04
  • Hola MarzoCL, gracias por compartir la info

    El problema del LDIFDE, en general es el formato LDIF ...

     


    Guillermo Delprato - Buenos Aires, Argentina
    Visite Windows Server - Todos los Paso a Paso
    MVP - MCT - MCSE - MCSA
    MCSA Windows Server 2008 MCITP: Enterprise Administrator / Server Administrator
    MCTS: Active Directory / Network Configuration / Applications Configuration / Server Virtualization / Windows 7 Configuration / Windows 7 & Office 2010 Deployment / Vista Configuration
    Este mensaje se proporciona "como está" sin garantías de ninguna clase. Usted asume todos los riesgos.

    lunes, 29 de octubre de 2012 21:26
    Moderador