看到这个题目,搜索找了一下。
摘录: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命令是无法导入密码的,所以导入的用户都是禁用状态。接下来我们批量设置密码、启用帐号,并设置密码永不过期。(参考网站:Link01,Link02)
命令如下:
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 条评论