Powershell批量创建AD账户
来源:互联网 发布:seajs require其他js 编辑:程序博客网 时间:2024/04/30 04:19
它是一个单独的命令行,即导入一个 CSV 文件并使用其中的信息创建数十甚至数百个新的 Active Directory 用户:
Import-CSV 'C:\provision1.csv' |ForEach-Object {New-QADUser -organizationalUnit 'company.pri/Singers' -name ($_.'First Name' + '.' + $_.'Last Name') -samAccountName $_.'Logon name' -city $_.city -title $_.'Job title' -department $_.department}
它确实是个很长的命令,但功能却强大得令人惊讶。首先是 Import-CSV(本机外壳 cmdlet),它只需读取一个 CSV 文件并返回对象。CSV 文件中的每一行都是一个单独的对象,并且 CSV 文件的列将成为对象的属性。在 Provision1.csv 文件中,列名类似于 "Logon Name" 和 "First Name"—这一点非常有趣,因为列名不会直接映射到 Active Directory 用户属性。我发现,文件(比如此文件)通常都是使用听起来熟悉的列名,而非特定于 Active Directory 的名称。毕竟,您可能是从公司人事部的某个人那里收到的此文件,他们不太可能知道 Last Name 在 Active Directory 实际是 sn 属性。
一旦将 CSV 文件中的所有数据导入并转换成对象,这些对象即会被通过管道传送到 ForEach-Object cmdlet,它将针对每个对象执行代码块(刚才的单行式命令的花括号中的内容)。即,对 CSV 文件中的每一行均执行一次该脚本。在该脚本中,特殊的 $_ variable 为当前对象(或 CSV 文件的当前行)的引用。
您可以看到,对于每个对象,我都执行了 New-QADUser cmdlet。它是 Quest 加载项中大约十几个 cmdlet 中的一个。名称 QADUser 值得关注一下。您可能已猜到,Q 代表 Quest。该命名约定旨在避免与 Microsoft Active Directory 团队将来可能推出的终极版 New-ADUser cmdlet 发生冲突。这样,如果同时将这两个 cmdlet 加载到外壳中,您和外壳将能够更加轻松地区分它们。
单行式命令的剩余部分包含 New-QADUser cmdlet 的参数。它首先指定 organizationalUnit,即您希望在其中创建所有新用户的位置。接下来是 name 属性,我已将它设置为 First Name 列的内容、句点以及 Last Name 列的内容。
最后一个有趣的事实是:city 参数实际会实际更改 Active Directory 中的 l 属性(或 Locality-Name)。cmdlet 还接受名为 l 的参数,所实现的功能完全相同。大多数情况下,引用 Active Directory 属性的参数可使用 Active Directory 用户和计算机工具的属性名称或文本标签。
一旦将 CSV 文件中的所有数据导入并转换成对象,这些对象即会被通过管道传送到 ForEach-Object cmdlet,它将针对每个对象执行代码块(刚才的单行式命令的花括号中的内容)。即,对 CSV 文件中的每一行均执行一次该脚本。在该脚本中,特殊的 $_ variable 为当前对象(或 CSV 文件的当前行)的引用。
您可以看到,对于每个对象,我都执行了 New-QADUser cmdlet。它是 Quest 加载项中大约十几个 cmdlet 中的一个。名称 QADUser 值得关注一下。您可能已猜到,Q 代表 Quest。该命名约定旨在避免与 Microsoft Active Directory 团队将来可能推出的终极版 New-ADUser cmdlet 发生冲突。这样,如果同时将这两个 cmdlet 加载到外壳中,您和外壳将能够更加轻松地区分它们。
单行式命令的剩余部分包含 New-QADUser cmdlet 的参数。它首先指定 organizationalUnit,即您希望在其中创建所有新用户的位置。接下来是 name 属性,我已将它设置为 First Name 列的内容、句点以及 Last Name 列的内容。
最后一个有趣的事实是:city 参数实际会实际更改 Active Directory 中的 l 属性(或 Locality-Name)。cmdlet 还接受名为 l 的参数,所实现的功能完全相同。大多数情况下,引用 Active Directory 属性的参数可使用 Active Directory 用户和计算机工具的属性名称或文本标签。
本文来自:http://kms.lenovots.com/kb/article.php?id=8966
- Powershell批量创建AD账户
- 通过Exchange 的 Powershell批量创建AD账户和邮箱
- 批量创建AD账户
- PowerShell 批量创建AD用户账号
- PowerShell实战4:批量修改AD账户E-Mail属性
- 批量同时创建邮箱和AD账户
- 批量创建AD用户
- Powershell批量移除AD组成员
- 批量解锁被锁定的AD账户
- 批量修改AD账户与属性
- 批量更改AD账户的属性
- PowerShell脚本从csv文件批量导入AD账户
- 利用Powershell 批量创建文件夹!
- PowerShell实战5: 批量增加AD组成员
- 如何批量统计AD账户最后一次登录时间
- 批量启用AD中已存在账户的Exchange 邮箱
- win2008r2 AD用户账户的批量导入方法
- 搜索AD账户信息
- 格式化XML文件,用msdn的工具
- PHP下,截取中文字符串
- WIN7 32位 破解 完美支持4G内存
- ffmpeg 内存 demo
- 谈VC++对象模型
- Powershell批量创建AD账户
- 超牛逼的芯片:无线数据传输速率将可高达30Gbps
- 计算机原理
- 选区的创建和编辑
- linux下LAMP环境搭建
- Mahout聚类分析
- webservice problems
- Setting up a GCC Development Environment for the Cortex M0/M3
- 递归 n的阶乘