我有一个关于如何将用户添加到使用PowerShell AD,我已经写了一个小脚本,但是当我尝试创建一个用户,我总是得到一个错误的问题。
$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()
我想,我的连接字符串是错误的,但我尝试不同的方法已经和仍然没有成功。 此IM局部尝试。 需要得到它的工作,但随后我的正常AD是不同的服务器上,如何做到这一点呢?
提前致谢。
试试这个:
$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")
下面是另一个例子(@Andy阿里斯门迪是第一个)与其他一些细节:
- 如果你想给用户和密码(登录到服务器使用不同的用户比当前的),你可以使用
DirectoryEntry
构造 - 这通常是做了一个错误是,当你在一个目录下创建一个对象,代表目录树这个对象的名称是建立与建设:
attribute=value
。 在活动目录,你不能选择它是由架构带来的属性。 对于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()