it-swarm-vi.tech

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

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 Active Directory. 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ó Active Directory riêng. Làm cách nào tôi có thể tạo tài khoản Active Directory mới bằng powershell.

19
Rob Murdoch

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 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 [email protected] -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 - máy chủ dns.domain vào lệnh trên

19
sejong

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

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.

6
fenster

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,[email protected]
Susan Johnson,Susan,Johnson,sjohnson,Susan Johnson,[email protected]

Mã :

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

Chúc may mắn!

5
Bobby T

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ò Active Directory, vì vậy chúng có sẵn khi bạn khởi động và chạy AD.

2
brad.lane