批量修改用户账号的登录计算机限制属性

 

最近遇到一个问题,论坛用户问:每个帐号只能登录指定的机器,有帐号和计算机对应的CSV文件,如何批量修改帐号的登录到属性?每个帐号登录到的机器名不一样

http://social.microsoft.com/Forums/zh-CN/windowsserversystemzhchs/thread/3a0ac2ef-3eae-4bb4-94a2-315f27f9c05b

 

 

查了一些资料,做了一点测试,貌似还没发现现成的命令能实现修改 AD 用户账号的 登录计算机信息。 dsmod 命令检查了一遍,确实没有。  MSDN查了一下,这个属性名应该是 user-Workstations,http://msdn.microsoft.com/en-us/library/ms680868(v=vs.85).aspx  应该是需要写 ADSI 脚本来操作这个用户属性信息。根据 http://msdn.microsoft.com/en-us/library/ms677943.aspx 的信息,这个属性是一个 单值属性,也就是说  一系列计算机名用逗号分隔,它们整个是一个值。 ADSI  的 setinfo 方法 存储信息的时候会覆盖原有的信息。这点要注意,也就是说只能overwrite,不能append,这有点烦。再有,这个值中最多64个计算机名。

 

批量操作的问题,可以交给 for 命令,如果有了修改的脚本,有了for 命令从csv文件导入做批量处理,貌似可以了。但是总觉得这个问题应该比较实用,在网上又搜了一下,找了几个样例脚本

TechNet 脚本中心有标准答案
http://gallery.technet.microsoft.com/scriptcenter/145213a1-0e5f-41fd-8fe6-119f989c792f

TechNet 脚本中心的标准答案的来源
http://portal.sivarajan.com/2011/05/modify-log-on-to-userworkstations-user.html

 

 

上面那个是 PowerShell 脚本,下面这个是 VBScript 脚本,
http://www.minasi.com/forum/topic.asp?TOPIC_ID=26981

 

无论 PowerShell 脚本,还是 VBScript脚本,本身就已经可以处理 csv 或者 Excel 文件,所以也就不用 for 语句来做循环了。PowerShell 固然强大,VBS 的生命力依然如此强大,让人感慨。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值