locked
Mover usuarios de ou a otra RRS feed

  • Pregunta

  • Buenos Dias Amigos de microsoft, comedidamente solicito me ayuden con un Script el cual me permita mover 90 usuarios que estan en diferentes ou a una sola ou nueva , esta recien creada, mil gracias por su colaboracion, pues la idea es organizar estos usuarios que estan regados en diferetnes ou y standarizarlos en una sola.

    Cabe aclarar que solo cuento el usuario de dominio.

    Mil gracias por su prota colaboracion-.

    Cordialmente

    jueves, 31 de julio de 2014 19:40

Respuestas

  • Hola Daniel,

    Tengo el script, lo he probado, solo debes asegurarte que el archivo de texto tenga los nombres de los usuarios tal como el AD y uno en cada línea y sin espacio entre las lineas, por ejemplo:

    Juan Pérez
    Raúl Fernandez
    Andrés Hurtado

    Algo muy importante! Abre el PowerShell y ejecuta:

    Import-Module ActiveDirectory

    Esto es para que abras el modulo de AD y puedas ejecutar comandos de AD.

    Si nunca usaste scripts de PowerShell, debes saber que debes colocar el .\ al principio, así:

    .\Archivos\Scripts\MoverUsuarios.ps1

    Este es el script, pégalo en un archivo, modificale la información de la ruta del archivo de texto, OU de destino ($TargetOU) y grabalo como .PS1

    $ListaUsuarios=Get-Content -Path "C:\ListaUsuarios.txt"
    $TargetOU="OU=Ventas,DC=MiDominio,DC=Com"
    For ($i=0;$i -lt $ListaUsuarios.Count;$i++){
    $MoverUsuario=$ListaUsuarios[$i]
    $UsuarioAD=Get-ADUser -Filter {Name -like $MoverUsuario}
    Move-ADObject $UsuarioAD.DistinguishedName -TargetPath $TargetOU
    }

    Espero te sea de ayuda!

    Saludos,


    Jesús Peñaranda| MCP,MCT,MCTS,MCITP,MCSA,MCSE




    viernes, 1 de agosto de 2014 2:59

Todas las respuestas

  • Hola Daniel,

    Esto se puede hacer en un par de líneas por PowerShell, pero lo primero a evaluar es con qué criterio se obtendrán a los usuarios que están en diferentes OUs, esos 90 son todos los usuarios o necesitan mover 90 de X existentes, recuerda que el script requiere una evaluación lógica, puede ser algún atributo que tengan en común, pertenencia a algún grupo en común, etc.

    Saludos,


    Jesús Peñaranda| MCP,MCT,MCTS,MCITP,MCSA,MCSE

    jueves, 31 de julio de 2014 20:04
  • Hola, gracias por la respuesta pronta, son 90 de 17000 que tengo...
    jueves, 31 de julio de 2014 20:17
  • Hola, entonces tienes que buscar algún atributo en común para poder usarlo en el script, de lo contrario no habrá forma de filtrar a esos usuarios para poder moverlos.

    Saludos,


    Jesús Peñaranda| MCP,MCT,MCTS,MCITP,MCSA,MCSE

    jueves, 31 de julio de 2014 20:33
  • Pero no hay un script que coja los usuarios dentro de una lista.txt y esos me los ubique en la ou=ejemplo ???
    jueves, 31 de julio de 2014 22:05
  • Por supuesto! así es mas sencillo, estoy de salida, pero durante el transcurso de la noche te paso algunas ideas!

    Saludos,


    Jesús Peñaranda| MCP,MCT,MCTS,MCITP,MCSA,MCSE

    jueves, 31 de julio de 2014 22:23
  • Hola Daniel,

    Tengo el script, lo he probado, solo debes asegurarte que el archivo de texto tenga los nombres de los usuarios tal como el AD y uno en cada línea y sin espacio entre las lineas, por ejemplo:

    Juan Pérez
    Raúl Fernandez
    Andrés Hurtado

    Algo muy importante! Abre el PowerShell y ejecuta:

    Import-Module ActiveDirectory

    Esto es para que abras el modulo de AD y puedas ejecutar comandos de AD.

    Si nunca usaste scripts de PowerShell, debes saber que debes colocar el .\ al principio, así:

    .\Archivos\Scripts\MoverUsuarios.ps1

    Este es el script, pégalo en un archivo, modificale la información de la ruta del archivo de texto, OU de destino ($TargetOU) y grabalo como .PS1

    $ListaUsuarios=Get-Content -Path "C:\ListaUsuarios.txt"
    $TargetOU="OU=Ventas,DC=MiDominio,DC=Com"
    For ($i=0;$i -lt $ListaUsuarios.Count;$i++){
    $MoverUsuario=$ListaUsuarios[$i]
    $UsuarioAD=Get-ADUser -Filter {Name -like $MoverUsuario}
    Move-ADObject $UsuarioAD.DistinguishedName -TargetPath $TargetOU
    }

    Espero te sea de ayuda!

    Saludos,


    Jesús Peñaranda| MCP,MCT,MCTS,MCITP,MCSA,MCSE




    viernes, 1 de agosto de 2014 2:59
  • Perfecto, era exactamente que lo que nesecitaba, mil gracias por su ayuda..
    martes, 5 de agosto de 2014 19:33
  • Hola Daniel,

    Tengo el script, lo he probado, solo debes asegurarte que el archivo de texto tenga los nombres de los usuarios tal como el AD y uno en cada línea y sin espacio entre las lineas, por ejemplo:

    Juan Pérez
    Raúl Fernandez
    Andrés Hurtado

    Algo muy importante! Abre el PowerShell y ejecuta:

    Import-Module ActiveDirectory

    Esto es para que abras el modulo de AD y puedas ejecutar comandos de AD.

    Si nunca usaste scripts de PowerShell, debes saber que debes colocar el .\ al principio, así:

    .\Archivos\Scripts\MoverUsuarios.ps1

    Este es el script, pégalo en un archivo, modificale la información de la ruta del archivo de texto, OU de destino ($TargetOU) y grabalo como .PS1

    $ListaUsuarios=Get-Content -Path "C:\ListaUsuarios.txt"
    $TargetOU="OU=Ventas,DC=MiDominio,DC=Com"
    For ($i=0;$i -lt $ListaUsuarios.Count;$i++){
    $MoverUsuario=$ListaUsuarios[$i]
    $UsuarioAD=Get-ADUser -Filter {Name -like $MoverUsuario}
    Move-ADObject $UsuarioAD.DistinguishedName -TargetPath $TargetOU
    }

    Espero te sea de ayuda!

    Saludos,


    Jesús Peñaranda| MCP,MCT,MCTS,MCITP,MCSA,MCSE




    Hola, me parece genial, pero que pasaría si tengo más de 2 nombres, ¿este script aun funcionaria?

    Ejemplo:

    Juan Pérez Cedeño
    Raúl Fernandez Cordova
    Andrés Hurtado Leon

    miércoles, 3 de febrero de 2021 0:15