19 votos

Cómo crear cuenta de usuario de Active Directory con powershell

Estoy constantemente la configuración de la investigación y el desarrollo de entornos que requieren cuentas de active directory. Desde estos entornos en isloated redes de cada medio tiene su propio directorio activo. ¿Cómo puedo crear una nueva cuenta de active directory mediante powershell.

19voto

sejong Puntos 256

No estoy seguro de si usted está buscando un script que tome una lista de nombres de usuario, contraseñas, etc, pero el siguiente comando para crear un nuevo usuario. UserPrincipalName es opcional. En este caso, el correo electrónico no es utilizado.

New-ADUser -SamAccountName nnn2 -Name "nnn2" -UserPrincipalName nnn2@jj -AccountPassword (ConvertTo-SecureString -AsPlainText "somePassword" -Force) -Enabled $true -PasswordNeverExpires $true -Path 'CN=Users,DC=jjdomain,DC=net.

6voto

fenster Puntos 381

Yo recomendaría la investigación de Búsqueda de ANUNCIOS de los cmdlets:

http://www.quest.com/powershell/activeroles-server.aspx

Un nuevo ANUNCIO de usuario sería:

new-QADUser -name 'user1' -ParentContainer 'OU=companyOU,DC=company,DC=com' -samAccountName 'user1' -UserPassword 'P@ssword'

Sin embargo, para la 'pureza' de Powershell, Shay sugerencia de Idera los guiones que le va a ahorrar el uso de cmdlets adicionales. La mente de usted, si usted se tome la molestia de descargar los scripts que bien podría descargar la Búsqueda de los cmdlets.

5voto

Bobby T Puntos 41

Me tomó de Brad respuesta anterior y añade un poco más de detalle a continuación (gracias a Brad por hacerme pensar en esta dirección):

De entrada archivo CSV:

cn,givenname,sn,sAMAccountName,displayname,UserPrincipalName
Joe Smith,Joe,Smith,jsmith,Joe Smith,jsmith@domain.com
Susan Johnson,Susan,Johnson,sjohnson,Susan Johnson,sjohnson@domain.com

Código:

$inputFile = Import-CSV  <insert filepath here>

foreach($line in $inputFile)
{
    ## need to add quotes around DSN        
    $dsn = "`"cn="+$line.cn+",ou=userou,dc=domain,dc=com`""
    $samid = $line.sAMAccountName
    $ln = $line.sn
    $fn = $line.givenname
    $dn = $line.displayname
    ## need to add quotes around display name
    $dn2 = "`"$dn`""
    $upn = $line.UserPrincipalName

    cmd /c "dsadd user $dsn -samid $samid -ln $ln -fn $fn -display $dn2
    -upn $upn -mustchpwd yes -pwd TempP@assw0rd"

    write-host `n
}    

Buena suerte!

2voto

dmanxiii Puntos 8194

si estás sólo la configuración del mismo a los usuarios en las diferentes redes/dominios, un viejo y simple .archivo cmd debe hacer el truco. Acaba de emitir llamadas a la dsadd comando para cada usuario.

una llamada a dsadd o dsmod iba a trabajar en el medio de un script de powershell así. usted podría incluso tener un archivo CSV de nombre de usuario/contraseñas que usted puede importar con un script de powershell y el bucle a través de cada línea con una llamada a dsadd o dsmod como este:

$inputFile = Import-CSV  <insert filepath here>

foreach($line in $inputFile)
{
    dsadd user -samid $line.Username -pwd $line.Password
}

El ds comandos (dsadd, dsmod, etc) se instalan con las funciones de active directory, por lo que están disponibles una vez que haya ANUNCIOS en marcha y funcionando.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: