powershell更改用户信息
Powershell的AD相关的命令灰常好用,豆子今天早上从HR那里拿了一份名单,需要更新所有AD用户的职位和部门信息。这个名单有上千人,肯定不能手动修改,一个简单几行的脚本就可以迅速解决。基本方法是可以通过get-ADuser搜索用户,然后使用 set-ADuser这个命令修改就行了。名单格式如下: HR的代码,名字,姓,加入日期,职位,部门等等。由于鬼佬习惯结婚之后改名字,所有直接通过displayname 搜索很多人是找不到的。不过SamaccountName一般不会变,公司的命名方式是第一个名字的首字母+最后一个名字( First intial+ Last Name)。
如何改成这个SamaccountName呢,很简单,利用split函数分开重组一下就行了
比如:
$a=get-content 'c:\employee.csv'
foreach ($b in $a){
$c=$b.split(",")
$init=$c
$lastname=$c
$shortnamae=$init+$lastname
}
获得SamaccountName之后,那就很简单了,在foreach循环里面,利用get-ADuser搜索,然后set-ADuser修改就行了。可以写成一行,通过管道传输,也可以分开写。
比如:
$user=get-ADuser $shortname
if ($user -eq $null) {$b >> c:/temp/error.csv }
else
{
$user.samaccountname
set-aduser $user.samaccountname -replace @{title=$c;department-$c}
}
这样就能修改了
页:
[1]