Active directory 批量用户创建

Active directory 批量用户创建,active-directory,windows-server-2016,Active Directory,Windows Server 2016,我正在尝试上传我创建的OU中的用户,我有一个带有以下字段的.csv文件; 名字 姓氏 用户名 密码 ou 下面是我正在运行的脚本,当我运行它时遇到了这个错误:“操作失败,因为为添加/修改提供的UPN值不是唯一的林范围…” 导入模块activedirectory $ADUsers=导入csv;\nameofsv.csv foreach($ADUsers中的用户) { }代码在我看来没问题。事实上我以前也用过这个 if(getaduser-F{SamAccountName-eq$Username})

我正在尝试上传我创建的OU中的用户,我有一个带有以下字段的.csv文件; 名字 姓氏 用户名 密码 ou

下面是我正在运行的脚本,当我运行它时遇到了这个错误:“操作失败,因为为添加/修改提供的UPN值不是唯一的林范围…”

导入模块activedirectory

$ADUsers=导入csv;\nameofsv.csv

foreach($ADUsers中的用户) {


}代码在我看来没问题。事实上我以前也用过这个 if(getaduser-F{SamAccountName-eq$Username})对我来说非常熟悉

关于你的代码,请看

  • 输入CSV行。你好像有一个,“。尽管您提到了这只会从列表中创建一个用户,并再次抛出该错误-因此它可能是
  • CSV文件

  • 正在读取的CSV文件(nameofsv.CSV)。查看您的OU位置周围是否有双引号“”,即“OU=NEW_USERS,DC=Contoso,DC=com”

  • 另外,如果您在新的ADuser行的末尾添加-whatif或-debug,会发生什么情况?它应该像您所说的那样通过第一个用户,然后在下一行生成某种错误。

    脚本运行,但只从列表中创建一个用户并抛出相同的错误。您可以提供您正在使用的csv的示例吗?如果您尝试了,又会怎样(-UserPrincipalName($Username+“@domainname”)
    $Username   = $User.username
    $Password   = $User.password
    $Firstname  = $User.firstname
    $Lastname   = $User.lastname
    $OU         = $User.ou 
    
    
    if (Get-ADUser -F {SamAccountName -eq $Username})
    {
         
         Write-Warning "A user account with username $Username already exist in Active Directory."
    }
    else
    {
        
        
        #Account will be created in the OU provided by the $OU variable read from the CSV file
        New-ADUser `
            -SamAccountName $Username `
            -UserPrincipalName "$Username@domainname" `
            -Name "$Firstname $Lastname" `
            -GivenName $Firstname `
            -Surname $Lastname `
            -Enabled $True `
            -DisplayName "$Lastname, $Firstname" `
            -Path $OU `
            -AccountPassword (convertto-securestring $Password -AsPlainText -Force) 
    }