这里会出错
set objworkbook = objexcel.workbooks.open("c:\test\ad list.xls") '打开
excel的路径
for i = 1 to 100 '1到100是需要修改的用户数
if objexcel.cells(i,14).value <> "" then '判断关键值是不是为空
call config_user(objexcel.cells(i,14),objexcel.cells(i,
6),objexcel.cells(i,11),objexcel.cells(i,12),objexcel.cells(i,13))
'call config_user sub section
'以上是将所需要修改的值传给子函数
end if
next
objExcel.Application.Visible = True '等完成之后将excel表显示出来
Msgbox "Done:)"
'/
********************************************************************************************************/
Sub
Config_user(i,Name_path,telephone,company_adr,postal_code,partment)
Const ADS_PROPERTY_UPDATE = 2 '定义这个值是可以修改的
'
dim telephone1,company_adr1,postal_code1,partment1,j
company_adr1=company_adr
telephone1=telephone
postal_code1=postal_code
partment1=partment
Name_path1=Name_path
Set objUser = GetObject(Name_path1) '这里的Name_path1类似 LDAP://CN=zhang
san,OU=test,DC=test,DC=com ,这个路径可以用vbs获取
objUser.Put "streetAddress",company_adr1 '修改公司地址
objUser.Put "l", "Redmond" '修改公司所在城市
objUser.Put "st", "Washington" '修改公司所在省州
objUser.Put "postalCode",postal_code1' 公司所在城市的邮编
objUser.Put "c", "CN" '所属的国家
objUser.PutEx ADS_PROPERTY_UPDATE,"postOfficeBox", Array("2222",
"2223", "2224")
objUser.Put "title", "Manager" '修改职员的职称
objUser.Put "department", partment1 '职员所属部门
objUser.Put "company", "Company" '公司的名称
objUser.Put
"manager","cn=AckermanPilar,OU=Management,dc=NA,dc=fabrikam,dc=com"
'这里需要指名职员所在的OU路径,引号部分是OU路径
objUser.Put "homePhone", telephone1 '公司的电话
objUser.PutEx ADS_PROPERTY_UPDATE, "otherHomePhone", Array(telephone1)
'这里仍是修改电话,因为电话是数字,当user属性为数字的时候需要这样改
objUser.SetInfo '这个意思是确定修改,不加这条不会作任何更改
end Sub
'/最后这段代码要在AD上执行,在具有将计算机加入到域的用户的计算机上只能执行三行,因为权限不够,所以要在AD上执行
'/更多的资料可以参考 http://msdn.microsoft.com/en-us/library/aa139672.aspx