Powershell批量导入AD账户-创新互联

它是一个单独的命令行,即导入一个 CSV 文件并使用其中的信息创建数十甚至数百个新的 Active Directory 用户:

成都创新互联公司长期为上千余家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为潞州企业提供专业的成都做网站、成都网站制作,潞州网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制开发。

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 文件中,列名类似于 "LogonName" 和 "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 用户和计算机工具的属性名称或文本标签。

创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。


当前标题:Powershell批量导入AD账户-创新互联
地址分享:http://ybzwz.com/article/dccssh.html