pengembangan-web-mp-pd.com

Cara membuat akun pengguna Active Directory dengan PowerShell

Saya terus-menerus menyiapkan lingkungan penelitian dan pengembangan yang membutuhkan akun Direktori Aktif. Karena kami menempatkan lingkungan ini di jaringan yang terisolir, setiap lingkungan membutuhkan Direktori Aktifnya sendiri. Bagaimana saya bisa membuat akun Active Directory baru menggunakan PowerShell.

19
Rob Murdoch

Saya tidak yakin apakah Anda mencari skrip yang akan mengambil daftar nama, kata sandi, dll, tetapi perintah berikut berfungsi untuk membuat satu pengguna baru. UserPrincipalName adalah opsional. Dalam hal ini, email tidak digunakan.

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

Jika Anda ingin membuat pengguna di domain tepercaya, tambahkan - server dns.domain ke perintah di atas

19
sejong

Saya akan merekomendasikan menyelidiki cmdlet AD Quest:

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

Pengguna AD baru adalah:

new-QADUser -name 'user1' -ParentContainer 'OU=companyOU,DC=company,DC=com' -samAccountName 'user1' -UserPassword '[email protected]'

Namun, untuk Powershell 'murni', saran Shay tentang skrip Idera akan menyelamatkan Anda menggunakan cmdlet tambahan. Pikiran Anda, jika Anda ingin pergi ke masalah mengunduh skrip Anda mungkin juga mengunduh cmdlet Quest.

6
fenster

Saya mengambil jawaban Brad di atas dan menambahkan sedikit lebih detail di bawah ini (terima kasih Brad karena membuat saya berpikir ke arah ini):

Input file CSV:

cn,givenname,sn,sAMAccountName,displayname,UserPrincipalName
Joe Smith,Joe,Smith,jsmith,Joe Smith,[email protected]
Susan Johnson,Susan,Johnson,sjohnson,Susan Johnson,[email protected]

Kode:

$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 [email protected]"

    write-Host `n
}    

Semoga berhasil!

5
Bobby T

jika Anda hanya mengatur pengguna yang sama di jaringan/domain yang berbeda, file .cmd lama yang biasa harus dilakukan. Hanya mengeluarkan panggilan ke perintah dsadd untuk setiap pengguna.

panggilan ke dsadd atau dsmod akan bekerja di tengah skrip PowerShell juga. Anda bahkan dapat memiliki file CSV nama pengguna/kata sandi yang dapat Anda impor dengan skrip PowerShell dan loop melalui setiap baris dengan panggilan ke dsadd atau dsmod seperti ini:

$inputFile = Import-CSV  <insert filepath here>

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

Perintah ds (dsadd, dsmod, dll) diinstal dengan peran Active Directory, jadi mereka tersedia setelah Anda menjalankan dan menjalankan AD.

2
brad.lane