Cách tạo tài khoản người dùng Active Directory với powershell


19

Tôi liên tục thiết lập môi trường nghiên cứu và phát triển yêu cầu tài khoản thư mục hoạt động. Vì chúng ta đặt các môi trường này trong các mạng được cách ly, mỗi môi trường cần có thư mục hoạt động riêng. Làm cách nào tôi có thể tạo tài khoản thư mục hoạt động mới bằng powershell.

Câu trả lời:


19

Tôi không chắc nếu bạn đang tìm kiếm một tập lệnh sẽ lấy danh sách tên, mật khẩu, v.v., nhưng lệnh sau sẽ hoạt động để tạo một người dùng mới. UserPrincipalName là tùy chọn. Trong trường hợp này, email không được sử dụng.

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'

Nếu bạn muốn tạo người dùng trong một miền đáng tin cậy, hãy thêm -server dns.domain vào lệnh trên


1
Đây là đặc thù của v2. Rob, bạn đang sử dụng v1 hoặc v2?
Doug Chase

4
"PasswordNeverExpires $ true" !!!!!! :-)
pauseka

Bạn cần mô-đun PowerShell nếu bạn không có nó:
southben

1
add-windowsfeature rsat-ad-powershell; ipmo activedirectory
Northben

6

Tôi muốn khuyên bạn nên điều tra các lệnh ghép ngắn AD của Quest:

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

Một người dùng AD mới sẽ là:

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

Tuy nhiên, đối với Powershell 'thuần túy', đề xuất của Shay về các tập lệnh của Idera sẽ giúp bạn tiết kiệm bằng cách sử dụng các lệnh ghép ngắn bổ sung. Xin lưu ý bạn, nếu bạn gặp rắc rối khi tải xuống các tập lệnh, bạn cũng có thể tải xuống các lệnh ghép ngắn Quest.


5

Tôi lấy câu trả lời của Brad ở trên và thêm một chút chi tiết bên dưới (cảm ơn Brad vì đã khiến tôi suy nghĩ theo hướng này):

Nhập tệp 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

Mã số:

$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
}    

Chúc may mắn!


2

nếu bạn chỉ thiết lập cùng một người dùng trên các mạng / miền khác nhau, một tệp .cmd cũ đơn giản sẽ thực hiện thủ thuật. Chỉ cần thực hiện các cuộc gọi đến lệnh dsadd cho mỗi người dùng.

một cuộc gọi đến DSadd hoặc dsmod cũng sẽ hoạt động ở giữa tập lệnh powershell. bạn thậm chí có thể có một tệp CSV tên người dùng / mật khẩu mà bạn có thể nhập với tập lệnh powershell và lặp qua từng dòng với một lệnh gọi tới dsadd hoặc dsmod như thế này:

$inputFile = Import-CSV  <insert filepath here>

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

Các lệnh ds (dsadd, dsmod, v.v.) được cài đặt với vai trò thư mục hoạt động, vì vậy chúng có sẵn khi bạn khởi động và chạy AD.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.