使用powershell将用户导入到OU中的AD

使用powershell将用户导入到OU中的AD,powershell,active-directory,Powershell,Active Directory,我有一段powershell脚本,它循环遍历用户名称并将用户添加到Active Directory中的OU(organizationalUnit),但我有一个问题:由于某种原因,我无法将用户添加到该organizationalUnit。我在CreateUser上遇到一个错误,它说对象是空的,所以换句话说,我认为我的连接字符串似乎不起作用,我尝试了所有方法,但不知道如何解决 只是一个通知,当我做同样的事情,但对于cn它确实添加了用户,但对于OU不 下面是一段脚本: $Connection = "L

我有一段powershell脚本,它循环遍历用户名称并将用户添加到Active Directory中的OU(organizationalUnit),但我有一个问题:由于某种原因,我无法将用户添加到该organizationalUnit。我在CreateUser上遇到一个错误,它说对象是空的,所以换句话说,我认为我的连接字符串似乎不起作用,我尝试了所有方法,但不知道如何解决

只是一个通知,当我做同样的事情,但对于cn它确实添加了用户,但对于OU不

下面是一段脚本:

$Connection = "LDAP://ou=SopraUsers,dc=sopragroup,dc=lan"

        # Get A Unique Password

        [string]$Password = Generate-Password
        $username=$Firstname.substring(0,1).toLower() + $Surname.toLower().replace(" ", "")
        # Create User in AD

        $container =[ADSI] $Connection
        $User = $container.Create("User", "cn="+$username)
        $User.Put("sAMAccountName", $username)
        $User.Put("givenName", $Firstname)
        $User.Put("sn", $Surname)
        $User.Put("mail", "")
        $User.Put("displayName", $Firstname + " "+$Surname)
        $User.SetInfo()


        $User.PsBase.Invoke("SetPassword", $Password)
        $User.PsBase.InvokeSet("AccountDisabled", $false)
        $User.pwdLastSet = 0
        $User.SetInfo()
我认为问题出在
$Connection=“LDAP://ou=SopraUsers,dc=sopragroup,dc=lan”
因为如果我做了
$Connection=“LDAP://cn=Users,dc=sopragroup,dc=lan”

然后我确实添加了人,但只针对用户

这是我的广告的样子,你可以看到我希望ppl被添加到最低的OU


提前感谢您的帮助

只需在评论中添加这一行:

$User.Put("mail", "")
如果你不想把一个电子邮件地址删除这行;在我的服务器上,它给出了一个错误的属性语法


就连接字符串而言,您能试试这个连接字符串吗

"LDAP://sopragroup.lan/ou=SopraUsers,dc=sopragroup,dc=lan"
您可以创建如下连接:

$Connection  = [adsi] "LDAP://sopragroup.lan/ou=SopraUsers,dc=sopragroup,dc=lan"
或者,如果要进行身份验证:

$Connection  New-Object System.DirectoryServices.DirectoryEntry ("LDAP://ServerIP/ou=SopraUsers,dc=sopragroup,dc=lan","administrator@sopragroup.lan","pwd")

你能给出准确的错误信息吗?是的,对我来说似乎也不错,正如我说的,它可以创建用户onder cn,但当我把它改为cn时,它就不起作用了,说不能调用create之类的东西,但我会发布错误。我修改我的答案,我想你可以试试这个连接字符串。