首页 > 代码库 > PowerShell 批量导入/导出Active Directory

PowerShell 批量导入/导出Active Directory

PowerShell 批量导入/导出Active Directory

        最近因为公司要求,需要导入20个供应商、20个客户到AD域中,刚开始手动加入了2个供应商,2个客户。但是感觉费时费力。如果能够找到一个命令,批量导入AD该多好呀。
        因为之前有师兄在AD方面留下的有文档,发现AD域用户导出的命令是这样的:
csvde -f E:\20131015.csv -r "(objectClass=user)" -d "OU=XXX,DC=XXX,DC=com" -u
        
        这里对OU做了处理,你在使用时应该换上自己的属性值。这个命令将AD用户导出到E盘,我用当今日期作为文件名,保存为csv文件(csv文件可以用Excel打开)。

        接下来我们讨论如何批量导入AD用户的问题。同上面一样,我们使用csv格式的文件导入用户数据到AD的组织单元。
        先输入csvde /?(注意中间的空格)查看一下都有什么命令吧。

        知道了csvde的命令之后,我们开始一步步导入数据吧。
        在Excel中输入相关信息,保存为csv文件。

        将文件放在F盘,命名ADInfor.csv。
        管理员运行PowerShell,输入命令:
Import-Csv f:\ADInfor.csv | foreach {New-ADUser -Name $_.name -SamAccountName $_.samaccountname -UserPrincipalName $_.userprincipalname -GivenName $_.givenname -Surname $_.surname -DisplayName $_.displayname -Path $_.path -AccountPassword(ConvertTo-SecureString"123@abc" -AsPlainText -Force) -ChangePasswordAtLogon $true -Enabled $true}
        我遇到一个提示错误----无法将“New-ADUser”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。
        于是我在PowerShell输入Get-Command命令,查看可用的命令有哪些。。。发现没有任何AD相关的命令。也没有找到New-ADUser。

        关闭PowerShell,再次右键单击PowerShell,选择导入系统模块。导入完毕后输入Get-Command命令,我们看到New-ADUser已经在命令组中了。