看到这个题目,搜索找了一下。

摘录:http://www.mamicode.com/info-detail-1952543.html

 

————————————–我是无敌的分割线————————————-

有时我们需要获取AD域用户中的信息及状态,想知道哪些用户帐号是被禁用的,哪些用户帐号是正常的,用户的部门、电话、职位信息等等。

下面我将自己做的实验步骤分享一下。

第1步:首先用脚本命令将AD用户信息导出,导的时候可以根据自己的需要,导出有用的用户信息,过滤掉不需要的信息。

命令脚本:

csvde -d "ou=XX公司,DC=contoso,DC=com" -r "(&(objectcategory=person)(objectClass=user))" -l "name,sAMAccountName,description,title,department,telephoneNumber,mail,userAccountControl" -f C:\Users\Administrator\Desktop\Users-List.csv -s contoso.com -u

脚本解释:

-d “ou=users,ou=XX公司,DC=XXXX,DC=Com”中ou是组织结构,ou=users,ou=XX公司代表的含义是XX公司 组织下的users组织,这是层级结构表示,命令行中由左至右对应层次中的由低至高。DC是域名,也是层级结构,DC=XXXX,DC=Com,表示Com下的XXXX也就是域名XXXX.com。比如abc.XXX.com对应DC=abc,DC=XXXX,DC=Com。

-r “(&(objectcategory=person)(objectClass=user))”是筛选要导出的数据,(objectClass=user)是定义大类,只导用户信息,但是AD的user 除了用户信息还包括computer等信息,所以再用(objectcategory=person)筛选,这样就只有用户信息了,如果这里省略就会导出所有AD信息相当乱。

-l “name,userPrincipalName”是需要导出用户信息具体字段,这里分别是名称和登录名,其它的字段可以参见下面图片。

-f C:\Users\Administrator\Desktop\Users-List.csv 指的是导出文件路径,但是用户的中文信息会以16机制代码显示,所以后面加一个-u,但这也有弊端,加-u后导出数据就混在一列里,可以用excel的导入文本,以逗号分列功能分开即可。

-s DC服务器名

在DC服务器上,运行cmd,输入脚本,运行后得到一个csv文件,用excel以逗号分列功能分开后得到以下信息

这里只是导出了我要的部分,如果需要导出其他信息,请参考本文最后的几个图片。《用户信息参数名对照图》

第2步:整理表格。在DN这一列存在用户的姓名,以及所隶属的组织,比较难看,我们用Excel函数将他显示成我们想要的效果。

的A列后面,插入3列,在B2列输入函数

=TRIM(LEFT(SUBSTITUTE(MID(SUBSTITUTE($A2,”=”,REPT(” “,999)),COLUMN(A2)*999,999),”,”,REPT(” “,999)),999))

然后横向拖动这列到C2,D2,再纵向拉下去,最后就把OU后面的部门都显示好了。如下图所示:

把第一行标题修改一下,表格就很好看了。

userAccountControl参数表示帐号状态

他的数值请参考下图

以下图片是《用户信息参数名对照图》

 

导入的基本语法命令

是这样的:

csvde -i -f c:\filename.csv -k

输入以下命令查看具体参数:

csvde /?

可以看到新增加的两个用户,但它们与其余三个不同,有个向下的箭头。这是因为CSVDE命令是无法导入密码的,所以导入的用户都是禁用状态。接下来我们批量设置密码、启用帐号,并设置密码永不过期。(参考网站:Link01Link02

命令如下:

dsquery user "ou=T0500_客户,ou=T0000_测试外网用户,ou=XXX,dc=XXX,dc=com" | dsmod user -pwd 123@abc -pwdneverexpires yes –disabled no

导出AD信息使用以下命令:

csvde -f E:\20131015.csv -r "(objectClass=user)" -d "OU=XXX,DC=XXX,DC=com" -u

 

AD 中所有的用户导出到csv

在ad 服务器上打开powershell

第一步,先获取AD上所有的OU 命令:Get-ADOrganizationalUnit -Filter ‘Name -like “*”‘

第二部,根据OU获取用户 命令:Get-ADuser -searchbase ‘OU=Domain Controllers,DC=sharepointapp,DC=com’ -filter ‘name -Like “*” ‘ -Properties * | Export-Csv c:\sharepointinfo.csv

 

通过脚本批量添加AD用户

引用内容来自于:Link

或参考此处Link

1.新建一个csv文件(逗号分隔的一种值文件)

内容为:放在C:\盘根目录下

复制代码
test300    test300    123.com    test300
test301    test301    123.com    test301
test302    test302    123.com    test302
test303    test303    123.com    test303
test304    test304    123.com    test304
test305    test305    123.com    test305
test306    test306    123.com    test306
test307    test307    123.com    test307
test308    test308    123.com    test308
test309    test309    123.com    test309
test310    test310    123.com    test310
复制代码

2.在CMD中执行以下代码

for /f "tokens=1,2,3,4 delims=," %a in (c:\300.csv) do dsadd user "CN=%a,OU=ucmausers,OU=contosousers,DC=contoso,DC=net" -samid %b -upn %b@contoso.net  -pwd %c -ln %d -display %a -disabled no

然后在PowerShell中执行下面代码:

Get-CsAdUser -OU "OU=399,OU=lyncplus,dc=ucc,dc=com" | Enable-CsUser -RegistrarPool "pool.ucc.com" -SipAddressType sAMAccountName -SipDomain ucc.com

即可创建成功:

 


0 条评论

发表评论

邮箱地址不会被公开。 必填项已用*标注