当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 使用 PowerShell 从 CSV 创建 Active Directory 用户

作者:精品下载站 日期:2024-12-14 18:02:25 浏览:11 分类:玩电脑

使用 PowerShell 从 CSV 创建 Active Directory 用户


我们想要在组织中创建新的 Active Directory 用户。我们可以使用Active Directory 用户和计算机中的用户创建向导来创建用户。如果您需要创建 1000 多个用户怎么办?如果由向导来完成,会花费很多时间。在本文中,您将了解如何使用 PowerShell 从 CSV 创建 Active Directory 用户。

开始从 CSV 文件创建 Active Directory 用户之前

假设您需要一分钟才能使用向导创建新用户。每个用户需要一分钟。如果您必须添加一千个新用户怎么办?计算一下,1000 个用户 * 1 分钟=1000 分钟。也就是大约16个小时。花在创建新用户上的时间有点太多了,对吧?如果您可以简化流程并更快地完成,会怎样?

在本文中,我们将使用以下文件:

NewUsersSent.csv

我们发送给 HR 的电子表格模板

NewUsersReceived.csv

我们从 HR 收到的电子表格

NewUsersFinal.csv

要导入的更新的最终版本

Add-NewUsers.ps1

将创建用户帐户的 PowerShell 脚本

创建 CSV 模板

首先,我们需要确保拥有需要创建的所有一千个用户的列表。我们需要的最重要的信息是名字和姓氏。我们建议创建一个 CSV 文件并将其发送给公司中的用户。

我们将把 CSV 文件发送给 Jane。 Jane 在 EXOIP 公司的人力资源部门工作。她确实拥有有关需要新 AD 用户帐户的数千个用户的信息。我们发送给 Jane 的 CSV 文件是 NewUsersSent.csv。 Jane 将填写数据,就像讨论的那样,并将 CSV 文件发送回给我们。

我们告诉简在字段中输入尽可能多的信息。如果她不能填满所有字段,则无需担心。最重要的是名字姓氏。我们还告诉她将密码OU字段留空。我们为什么要告诉她这些?

  • 密码 字段,将其留空,因为 IT 部门将创建密码。即使它是临时密码。当用户登录时,会出现更改密码的提示。

  • OU 字段,将其留空,因为 IT 部门将填写组织单位 (OU)。这就是新的 Active Directory (AD) 用户将被创建的地方。

编辑 CSV 文件

Jane 将包含所有信息的 CSV 文件发回。让我们打开 NewUsersReceived.csv 文件看一下。

一切看起来都很棒。简确实填写了我们需要的所有信息。

注意:在 Active Directory 国家/地区代码列表中查找您的国家/地区代码。

生成密码

为用户生成密码并填写每个用户的密码字段。我建议使用 Manytools 密码生成器生成密码。您一次最多可以创建 9999 个密码。之后,将密码复制并粘贴到密码列中。

填写组织单位(OU)

启动Active Directory 用户和计算机 (ADUC) 并确保启用高级功能。单击菜单查看,然后单击高级功能。现在高级功能已启用,我们可以进一步在 AD 中创建 OU。

我们可以在 CSV 文件中看到用户将在 IT 部门工作。因此,我们将在 Active Directory 中创建一个名为 IT 的 OU。

右键单击名为 IT 的 OU,然后单击属性。单击属性编辑器选项卡。查找属性distinguishedName。双击它并复制该值。我的示例中的值是 OU=IT,OU=Users,OU=Company,DC=exoip,DC=local。

将值放置在 OU 列下的字段中。

完成后,将其另存为新的 CSV 文件。转到文件并单击另存为。将其命名为 NewUsersFinal.csv。将其保存为 CSV UTF-8(逗号分隔)(*.csv) 类型。单击保存按钮。

NewUsersFinal.csv 已创建。

将 NewUsersFinal.csv 放置在域控制器或管理服务器上的 C:\Temp 文件夹中。

检查 CSV 文件

使用脚本之前,请在 PowerShell 中导入 CSV 文件。这是检查它是否可读以及是否已准备就绪的绝佳方法。

很高兴了解分隔符

分隔符在 CSV 文件中显示为逗号或分号吗?在下一步中使用 PowerShell 脚本之前,您需要了解这一点。如果您在 CSV 文件中使用分号作为分隔符,请添加分隔符参数 -Delimiter “;”到您的 Import-Csv cmdlet。

以管理员身份运行 PowerShell。使用 Import-Csv cmdlet 读取 CSV 文件。如果无法读取 CSV 文件,请删除 -Delimiter 参数。它将是 Import-Csv“C:\Temp\NewUsersFinal.csv”|格式表。

PS C:\> Import-Csv "C:\Temp\NewUsersFinal.csv" -Delimiter ";" | Format-Table

FirstName Initials Lastname Username        Email                      StreetAddress City   ZipCode State Country
--------- -------- -------- --------        -----                      ------------- ----   ------- ----- -------
Max       MF       Fraser   Max.Fraser      [email protected]       21 Baker St   London NW1 6XE       GB
Piers     PB       Bower    Piers.Bower     [email protected]      21 Baker St   London NW1 6XE       GB
Kylie     KD       Davidson Kylie.Davidson  [email protected]   21 Baker St   London NW1 6XE       GB
Richard   RG       Grant    Richard.Grant   [email protected]    21 Baker St   London NW1 6XE       GB
Boris     BC       Campbell Boris.Campbell  [email protected]   21 Baker St   London NW1 6XE       GB
Nicholas  NM       Murray   Nicholas.Murray [email protected]  21 Baker St   London NW1 6XE       GB
Leonard   LC       Clark    Leonard.Clark   [email protected]    21 Baker St   London NW1 6XE       GB
Ruth      RD       Dickens  Ruth.Dickens    [email protected]     21 Baker St   London NW1 6XE       GB
Jonathan  JF       Fisher   Jonathan.Fisher [email protected] 21 Baker St   London NW1 6XE       GB
Grace     GR       Rees     Grace.Rees      [email protected]       21 Baker St   London NW1 6XE       GB

有关详细信息,请参阅导入 CSV 分隔符 PowerShell。

准备添加新用户 PowerShell 脚本

下载 Add-NewUsers.ps1 脚本并将其保存在管理服务器或域控制器上的路径 C:\Scripts 中。

  • 第 5 行是 CSV 文件的路径。如果将 CSV 文件放置在其他路径中,请更改路径。在我们的示例中,它是 C:\Temp\NewUsersFinal.csv

  • 如果 CSV 文件中使用逗号分隔字符而不是分号,请删除第 5 行 -Delimiter 参数。在我们的示例中,它是分号字符

  • 第 8 行是 UserPrincipalName (UPN)。将 UPN 更改为您的 UPN。在我们的示例中,它是 exoip.com

运行添加新用户 PowerShell 脚本

将目录路径更改为 C:\Scripts\ 并运行脚本 Add-NewUsers.ps1。该脚本将运行并批量创建 Active Directory 用户。完成后,按Enter退出屏幕。

PS C:\>cd C:\Scripts\
PS C:\Scripts> .\Add-NewUsers.ps1
The user account Max.Fraser is created.
The user account Piers.Bower is created.
The user account Kylie.Davidson is created.
The user account Richard.Grant is created.
The user account Boris.Campbell is created.
The user account Nicholas.Murray is created.
The user account Leonard.Clark is created.
The user account Ruth.Dickens is created.
The user account Jonathan.Fisher is created.
The user account Grace.Rees is created.
Press Enter to exit:

如果该用户已存在于 AD 中,您将看到以下内容。

PS C:\Scripts> .\Add-NewUsers.ps1
WARNING: A user account with username Max.Fraser already exists in Active Directory.
WARNING: A user account with username Piers.Bower already exists in Active Directory.
WARNING: A user account with username Kylie.Davidson already exists in Active Directory.
WARNING: A user account with username Richard.Grant already exists in Active Directory.
WARNING: A user account with username Boris.Campbell already exists in Active Directory.
WARNING: A user account with username Nicholas.Murray already exists in Active Directory.
WARNING: A user account with username Leonard.Clark already exists in Active Directory.
WARNING: A user account with username Ruth.Dickens already exists in Active Directory.
WARNING: A user account with username Jonathan.Fisher already exists in Active Directory.
WARNING: A user account with username Grace.Rees already exists in Active Directory.
Press Enter to exit:

看看ADUC。用户已在 OU 中成功创建。

这是否有助于您使用 PowerShell 从 CSV 创建 Active Directory 用户?

继续阅读:使用 PowerShell 将 AD 用户批量移动到另一个 OU »

结论

您学习了如何使用 PowerShell 从 CSV 创建 Active Directory 用户。首先,准备 CSV 文件并确保填写所有信息。获得最终的 CSV 文件后,在 PowerShell 中导入 CSV 文件以检查其是否可读。调整 Add-NewUsers.ps1 脚本中的两行,如文章中所示。运行脚本以在 AD 中创建用户。最后一部分是检查ADUC中的用户是否创建成功。

您喜欢这篇文章吗?如果是这样,您可能会喜欢安装 Exchange Server 必备组件。不要忘记关注我们并分享这篇文章。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯