Добавление пользователей в AD с PowerShell - PullRequest
0 голосов
/ 16 января 2012

У меня есть вопрос о том, как добавить пользователей в AD с помощью PowerShell, я написал небольшой скрипт, но я всегда получаю сообщение об ошибке при попытке создать пользователя.

$connection= "LDAP://ou=Users, dc="domain", dc="com" 
    $OU = [adsi] $Connection
            $User = $OU.Create("user", "Test Person")
            $User.Put("Firstname", "Test")
            $User.Put("Surname", Person)
            $User.Put("Email", "email@e.com")
            $User.SetInfo()

Я думаю, что моя строка подключенияэто неправильно, но я уже пробовал разные способы и до сих пор безуспешно.Это я пытаюсь локально.Нужно заставить его работать, но обычно моя AD находится на другом сервере, как это сделать тогда?

Заранее спасибо.

Ответы [ 2 ]

3 голосов
/ 16 января 2012

Попробуйте:

$container = [ADSI] "LDAP://dc.sopragroup.lan/cn=Users,dc=sopragroup,dc=lan"
$UserName = "user"
$User = $container.Create("User", "cn=" + $UserName)
$User.Put("sAMAccountName", $UserName)
$User.Put("givenName", "Test")
$User.Put("sn", "Person")
$User.Put("mail", "email@e.com")
$User.SetInfo()
$User.psbase.InvokeSet('AccountDisabled', $false)
$User.SetInfo()
$User.SetPassword("P@55w0rd")
1 голос
/ 16 января 2012

Вот еще один пример (@Andy Arismendi был первым) с некоторыми другими деталями:

  1. Если вы хотите дать пользователю и пароль (войти на сервер с другим пользователем, чем текущий), вы можете использовать DirectoryEntry конструктор
  2. Ошибка, которая обычно делается, заключается в том, что при создании объекта в каталоге имя, представляющее этот объект в дереве каталогов, создается с помощью конструкции: attribute=value. В Active-Directory вы не можете выбрать атрибут, наложенный схемой. Для user или inetOrgPerson это CN для organizationalUnit это OU. В вашем случае имя объекта CN=Test Person.

Вы найдете здесь при создании OU и пользователя.

Clear-Host
$dn = New-Object System.DirectoryServices.DirectoryEntry ("LDAP://192.168.234.200:389/dc=dom,dc=fr","administrateur@dom.fr","admin")

# Create an OU
$Monou = $dn.create("OrganizationalUnit", "ou=Monou")
#$Monou.Description = "Une description"
$Monou.put("Description", "Une description")
$Res = $Monou.Setinfo()


# Create a user
$objUtilisateur = $Monou.create("inetOrgPerson", "cn=Marc Assin")
$objUtilisateur.setinfo()

$objUtilisateur.samaccountname = "Massin"
$objUtilisateur.givenName = "Marc"
$objUtilisateur.sn = "Assin"
#$objUtilisateur.displayName = $objUtilisateur.givenName + " " + $objUtilisateur.sn
$objUtilisateur.userPrincipalName = "Massin@dom.fr"

# Pu the state of the account#$objUtilisateur.SetPassword("test.2010")
$objUtilisateur.pwdLastSet = 0
$objUtilisateur.userAccountControl = 544 

# Write the datas of the user
$objUtilisateur.SetInfo()
...