您的位置:首页 > 运维架构 > Shell

PowerShell脚本从csv文件批量导入AD账户

2012-03-05 14:19 435 查看
-)用记事本新建文本文件并命名为“Userimport.ps1”

-)$objOU=[ADSI] " LDAP://OU=User,DC=Domain,DC=com "

  dataSource=import-csv "NewUsers.csv"

  foreach($dataRecord in $ datasource)

  {

           $cn=dataRecord.cn

          #设置相应的属性值。可以通过AD用户和计算机管理单元中账户的“属性编辑器”查看LDAP属性名称(需要开启“高级功能”)

           #或者使用PowerShell命令查看:$objUser.psbase.properties 或 $objUser | get-member

           $sAMAccountName=$dataRecord.sAMAccountName

           ..............

           $objUser=$objOU.Create( "User" , "CN=" + $cn )

          #使用 Put() 方法设置属性值。如果属性包含多个值,则需要使用 PutExs() 方法。

           $objUser.Put( "sAMAccountName" , $sAMAccountName)

           ............

           $objUser.SetInfo()

           #SetPassword() 方法只能在调用 SetInfo() 方法之后使用。

           $objUser.SetPassword( "password" )

           #此时创建的账户处于禁用状态,需要执行下面两个命令启用账户。

           $objUser.psbase.InvokeSet( "AccountDisabled" ,$ false )

           $objUser.SetInfo()

  }

-) 默认情况下,Windows PowerShell是禁止执行脚本的,这是处于安全性的考虑。必须通过下面的命令更改PowerShell的执行策略才能运行脚本

    set-executionpolicy remotesigned

-) PowerShell脚本与其他脚本不同,不能直接输入文件名执行,执行脚本必须指定路径。例如“ ./ ”指当前目录,可以这样执行脚本:

    .\UserImport.ps1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息