Як створити обліковий запис користувача Active Directory за допомогою shellhell


19

Я постійно створюю середовище для досліджень та розробок, які потребують активних облікових записів каталогів. Оскільки ми розміщуємо ці середовища в замкнених мережах, кожне середовище потребує власного активного каталогу. Як я можу створити новий активний обліковий запис каталогів за допомогою посібника.

Відповіді:


19

Я не впевнений, чи шукаєте ви сценарій, який міститиме список імен, паролів тощо, але наступна команда працює для створення одного нового користувача. UserPrincipalName необов’язковий. У цьому випадку електронна пошта не використовується.

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'

Якщо ви хочете створити користувача у довіреному домені, додайте до вищевказаної команди -server dns.domain


1
Це специфічно для v2. Роб, ти використовуєш v1 чи v2?
Doug Chase

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

Вам потрібен модуль PowerShell, якщо у вас його немає:
northben

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

6

Я рекомендую дослідити командлети AD Quest:

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

Новим користувачем AD буде:

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

Однак, для "чистого" Пауершелла, пропозиція Шая щодо сценаріїв Idera допоможе вам заощадити за допомогою додаткових командлетів. Зауважте, якщо ви збираєтеся зіткнутися з проблемою завантаження сценаріїв, ви також можете завантажити командлети Quest.


5

Я взяв відповідь Бреда вище і додав трохи більше деталей нижче (дякую Бреду, що мене задумав у цьому напрямку):

Вхідний файл 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

Код:

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

Удачі!


2

якщо ви просто налаштовуєте одних і тих же користувачів у різних мережах / доменах, звичайний старий .cmd-файл повинен зробити це. Просто надішліть виклики команді dsadd для кожного користувача.

виклик dsadd або dsmod також буде працювати в середині скрипта повноважень. у вас навіть може бути файл CSV з іменем користувача / паролями, який ви можете імпортувати за допомогою скрипта powerhell та прокручувати кожен рядок із закликом до dsadd або dsmod таким чином:

$inputFile = Import-CSV  <insert filepath here>

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

Команди ds (dsadd, dsmod та ін.) Встановлюються за допомогою активної ролі каталогів, тому вони доступні, як тільки ви встановите AD і запустите.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.