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

[玩转系统] Set-ADUser:使用 PowerShell 修改 Active Directory 用户

作者:精品下载站 日期:2024-12-14 13:16:12 浏览:12 分类:玩电脑

Set-ADUser:使用 PowerShell 修改 Active Directory 用户


您是否厌倦了使用 Active Directory (AD) 用户和计算机 (ADUC) 控制台应用程序对 Active Directory 帐户进行更改?如果是这样,为什么不节省自己的时间并使用 PowerShell 使用 set-aduser cmdlet 自动执行更新 AD 对象的简单过程!

修改 AD 帐户的常见方法是使用计算机上安装的 ADUC。然而,使用这种方法需要注意的是,平均需要花费更多时间来更改 AD 帐户。这项任务很快就会变得非常乏味。

本文将详细介绍如何使用 AD PowerShell cmdlet set-aduser 更改 AD 用户帐户。

先决条件/要求

本文是有关了解 Set-ADUser PowerShell cmdlet 的演练。如果您想继续操作,请确保满足以下先决条件。

  • 对您正在使用的 AD 环境的读写权限。
  • 已安装远程服务器管理工具 (RSAT) 软件包。这将为您提供所需的 ActiveDirectory PowerShell 模块。

测试环境设置脚本

要加快设置测试环境,您还可以下载名为 Create-OU-Structure.ps1 的脚本。该脚本将在 AD 中设置以下 OU 结构:

  • 部门(根 OU)
  • 会计(嵌套 OU)
  • 用户
  • 电脑
  • 营销(嵌套 OU)
  • 用户
  • 电脑
  • IT(嵌套 OU)
  • 用户
  • 电脑

要让某些 AD 用户帐户与您一起使用,您还可以下载并运行 Populate-AD_Accounts.ps1 PowerShell 脚本。此脚本将向会计、营销和 IT OU 添加示例用户帐户。

本文将使用从这两个脚本创建的 OU 和用户帐户。

使用 Get-ADUser 检查 AD 用户帐户

在修改用户帐户之前,您应该首先读取用户帐户。要读取 AD 用户帐户,您将使用 Get-ADUser cmdlet。 Get-ADUser cmdlet 允许您检查一个或多个 AD 用户帐户。

为了进行演示,请使用 Get-ADUser cmdlet 来检查从前面描述的用户配置脚本创建的 accountant_user1 用户帐户。

使用 Identity 参数指定用户名。此参数是必需的。在下面您可以看到我们也使用了 Properties 参数。默认情况下,并非返回所有 AD 用户帐户属性。 Properties 参数告诉 Get-ADUser 返回额外的属性。

Identity 参数可接受的值为:可分辨名称、GUID (objectGUID)、安全标识符 (objectSid) 和 SAM 帐户名称 (sAMAccountName)。

此外,我们还使用 Select-Object cmdlet 来限制从 AD 检索的 AD 属性的输出。如下所示,此命令仅返回 NameDepartmentphysicalDeliveryOfficeState 用户属性。

PS51> Get-ADUser -Identity accountant_user1 -Properties Name,Department,physicalDeliveryOfficeName,st | Select-Object -Property Name,Department,physicalDeliveryOfficeName,State

Name             Department physicalDeliveryOfficeName State
----             ---------- -------------------------- --
accountant_user1 Accounting Miami                      FL

使用 Set-ADUser 更改 AD 用户帐户属性

现在您已经了解了 account_user1 用户帐户属性当前的设置,现在可以使用 Set-ADUser 更改它们。

Set-ADUser 需要使用的最重要的参数是 Identity 参数。此参数需要与 Get-ADUser 相同的值。

您还可以使用 PowerShell 管道将 Get-ADUser 的输出传递给 Set-ADUser,而无需显式使用 Identity参数。

更改办公室和州 AD 属性

要演示更改某些用户帐户属性,请将 accountant_user1 对象的 Office AD 属性从迈阿密更改为亚特兰大,并将 State AD 属性从 FL 更改为 GA 。您将在下面看到 Set-ADUser 具有与它们正在更改的 AD 属性相关的参数。

PS51> Set-ADUser -Identity accountant_user1 -Office 'Atlanta' -State 'GA'

默认情况下,运行 Set-ADUser 命令时没有输出。但是,您可以通过添加 Verbose 参数来更改此行为。 Verbose 参数显示有关 cmdlet 正在执行的操作的详细信息。

现在,使用 Properties 参数运行 Get-ADUser,再次将 Get-ADUser 的输出传递给 Select-Object

PS51> Get-ADUser -Identity accountant_user1 -Properties Name,Department,physicalDeliveryOfficeName,State | Select-Object -Property Name,Department,physicalDeliveryOfficeName,State

Name             Department physicalDeliveryOfficeName State
----             ---------- -------------------------- --
accountant_user1 Accounting Atlanta                    GA

中提琴! accountant_user1 用户对象已更改为包括亚特兰大和佐治亚州(作为 GA),分别作为 OfficeState AD 属性值。

尝试运行以下命令来查看 Set-ADUser cmdlet 的可用参数和语法的完整列表:Get-help Set-ADUser

更改标题 AD 属性

Set-ADUser cmdlet 有多个参数可用于更改 AD 帐户的属性值。例如,在本部分中,您将重点关注更改单个用户帐户的 Title 属性。

使用与上一节相同的方法,您可以在下面看到,您可以使用 Set-ADUser 上的 Title 参数更改 Title AD 属性。

PS51> Set-ADUser -Identity it_user12 -Title 'CIO'

进行更改后,现在使用 Get-ADUser 检查以确保更改已成功,就像我们在上一节中所做的那样。下面您可以看到 AD 属性 Title 已更改为 CIO

PS51> Get-ADUser -Identity it_user12 -Properties Name,Department,title | Select-Object -Property Name,Department,title

Name      Department title
----      ---------- -----
it_user12 IT         CIO

使用备用凭证

默认情况下,Set-ADUser 在登录用户的上下文中运行。但您可以通过使用 Credential 参数提供备用凭据集来更改此行为。

要使用备用凭据向 AD 进行身份验证,您必须使用 Get-Credential 创建一个 PSCredential 对象,如下所示。

有关创建 PSCredential 对象的更多信息,请查看题为“使用 PowerShell Get-Credential cmdlet 和所有凭证”的 ATA 博客文章。

PS51> $credential = Get-Credential

现在,使用 Set-ADUserPSCredential 对象传递给 Credential 参数,如下所示。这会将凭证集中存储的用户名和密码传递给 AD 以进行身份验证并进行所需的更改。

PS51> Set-ADUser -Identity it_user12 -Title 'Senior Software Developer' -Credential $credential

禁用 AD 用户帐户

最佳实践是禁用不再使用的 AD 帐户,或者在公司环境中,当人们离开组织时禁用 AD 帐户。下一个任务是禁用 Marketing OU 中的单个用户帐户。

首先,在使用 Properties 参数和您已设置的 Select-Object cmdlet 通过 Get-ADUser 对其进行更改之前,请检查 AD 用户对象本文通篇都在使用。您可以在下面查看检查 market_user6 用户帐户的示例。

您可以看到返回的 Enabled 属性为 True。禁用时,此属性将返回 False

PS51> Get-ADUser -Identity market_user6 -Properties Name,Department,Enabled | Select-Object -Property Name,Department,Enabled

Name         Department Enabled
----         ---------- -------
market_user6 Marketing     True

接下来,使用 set-aduser cmdlet 禁用用户对象。使用 Enabled 参数并将值设置为 $false0 禁用 market_user6 用户的 AD 帐户。您可以在下面看到一个例子。

通过检查 NCSC 密码列表来查找 Active Directory 中泄露和不安全的密码。

PS51> Set-AdUser -Identity market_user6 -Enabled $False

现在,通过再次运行 Get-ADUser 命令来检查是否已实施正确的更改,如下所示。

PS51> Get-ADUser -Identity market_user6 -Properties Name,Department,Enabled | Select-Object -Property Name,Department,Enabled

Name         Department Enabled
----         ---------- -------
market_user6 Marketing    False

market_user6 用户现已在 AD 中被禁用!

注意:您还可以使用 Disable-ADAccount cmdlet 来禁用 AD 帐户。

概括

在本文中,您了解了如何使用 Get-ADUser PowerShell cmdlet 检查 AD 用户帐户,并使用 Set-ADUser cmdlet 更改 AD 用户对象。

在 AD 中更改用户对象的能力是许多组织消除 GUI 需求并促进自动化所需的一项关键技能。

现在开始自动化吧!

进一步阅读

  • Active Directory 脚本丰富:快来获取吧!

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

取消回复欢迎 发表评论:

关灯