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

[玩转系统] 使用 PowerShell 添加 AD 用户、组和计算机

作者:精品下载站 日期:2024-12-14 08:11:47 浏览:15 分类:玩电脑

使用 PowerShell 添加 AD 用户、组和计算机


[玩转系统] 使用 PowerShell 添加 AD 用户、组和计算机

在PowerShell中,创建用户帐户和组、将用户添加到组或从组中删除用户相对容易。为了使 cmdlet 可用,必须在客户端或服务器上安装相应的 PowerShell 模块。

安装用于 Active Directory 管理的 PowerShell 模块

在域控制器上,PowerShell 模块会自动与其他管理工具一起安装。在 Windows 10 和 Windows 11 计算机上,安装是通过“按需功能”功能完成的。此设置可以在 Windows 10 和 Windows 11 的“设置”应用中找到。这些可选功能可通过“设置\应用”使用。通过此方式,RSAT:Active Directory 域服务和轻量级目录服务工具可作为 RSAT 工具的一部分使用。对于 Windows 11,您还必须单击显示功能

使用安装按钮,即可进行模块集成。通过安装此功能,Active Directory 的 PowerShell 模块也可用。

[玩转系统] 使用 PowerShell 添加 AD 用户、组和计算机

在 Windows 10 中安装 PowerShell 的 Active Directory 模块

在服务器上,通过在服务器管理器中添加 Active Directory 远程管理工具来完成安装。或者,可以使用 Windows 管理中心添加 Active Directory 扩展。

在 Windows 服务器上,还可以使用 PowerShell 安装 Active Directory 管理工具。为此,使用命令Install-WindowsFeature RSAT-AD-PowerShell

[玩转系统] 使用 PowerShell 添加 AD 用户、组和计算机

在服务器上安装远程服务器管理工具

使用 PowerShell 创建 AD 对象

为了在 PowerShell 中检索 Active Directory 对象(例如计算机、用户或组),Microsoft 提供了许多 cmdlet。

显示列表的最快方法是使用 Get-Command Get-Ad* 命令。为了创建新对象,还有许多 cmdlet。通过键入Get-Command New-Ad*即可显示该列表。

PowerShell 使用 Get-Command Remove-Ad* 显示删除对象的命令列表。对 Active Directory 对象的更改是使用 Set cmdlet 进行的。使用 Get-Command Set-Ad* 显示列表。

通过以下命令可以获取所有 Active Directory 管理 cmdlet 的列表:

Get-Command -Module ActiveDirectory

这使您可以快速组合命令并创建可用于创建新对象的脚本,同时还可以自定义对象。 PowerShell 的优点是,它还可以用于同时自定义多个组,并且可以编写任务脚本。有一个图形用户界面的选项。

在 PowerShell 中管理组

在 PowerShell 中管理组主要通过以下 cmdlet 完成:

  • 添加 ADGroupMember
  • 添加 ADPrincipalGroupMembership
  • 获取 ADAccountAuthorizationGroup
  • 获取 ADGroup
  • 获取 ADGroupMember
  • 获取 ADPrincipalGroupMembership
  • 新 ADGroup
  • 删除 ADGroup
  • 删除-ADGroupMember

可以使用 New-ADGroup 创建新组。在脚本中,可以创建新组并同时调整组成员资格。现有组的调整也可以通过脚本进行控制。要创建新组并显示执行此操作的语法,可以使用以下 cmdlet:

Get-Command New-ADGroup -Syntax

创建新组的命令例如:

New-ADGroup "name of the group"

当您输入此命令时,PowerShell 会创建一个新的安全组。如果您还想在创建时指定该组是在特定组织单位中创建的,并且该组应在全局范围内可用,请使用以下命令:

New-ADGroup "purchasing" -Path "OU=Berlin,DC=joos,dc=int" -GroupCategory Security -GroupScope Global -PassThru -Verbose

使用-GroupCategory,您可以控制组的类别,即安全分发(分发列表)。此时,您还可以使用 -GroupScope 控制组类型。如果您希望该命令创建通用组,请使用-GroupScope Universal

要删除它,您可以使用Remove-ADGroup cmdlet:

Remove-ADGroup -Identity purchasing

控制组成员资格

在 PowerShell 中创建和删除组不是问题。同样,可以在 PowerShell 中向组中添加或删除成员。还可以使用单个命令将多个用户帐户添加到组中。此示例的命令如下所示:

Add-AdGroupMember -Identity Purchasing -Members joost, joosc

该命令将两个用户帐户 joostjoosc 添加到 Purchasing 组。使用PowerShell,还可以查询组成员资格。以下命令可用于此目的:

Get-ADGroupMember -Identity Purchasing

也可以在 PowerShell 中将计算机帐户添加到组中。其命令类似。对于计算机帐户,美元符号必须添加到名称末尾。在上例中,如果要将计算机帐户 srv01 添加到组 Purchasing,请使用以下命令:

Add-AdGroupMember -Identity Purchasing -Members srv01$

将用户添加到多个组

使用 PowerShell,还可以将用户帐户添加到多个组。以下命令可用于此目的:

"Purchasing1","Purchasing" | Add-ADGroupMember -Members (Read-Host -Prompt "enter user names")

输入用户名后,该命令会将输入的用户添加到组 Purchasing1Purchasing2 中。也可以使用 CSV 文件。为此,请创建一个包含用户列的 CSV 文件,并将用户帐户作为单独的行包含在内。然后您可以导入文件并添加组。执行此操作的命令如下所示:

Import-CSV C:\stemp\users.csv -Header users | ForEach-Object {Add-AdGroupMember -Identity "Purchasing" -members $_.users}

类似的任务是在两个组之间复制组成员身份。要将 Purchasing1 组的成员复制到 Purchasing2,请使用以下命令:

Get-ADGroupMember "Purchasing1" | Get-ADUser | ForEach-Object {Add-ADGroupMember -Identity "Purchasing2" -Members $_}

根据OU或AD属性向组添加组

类似的任务是将 OU 的所有用户帐户添加到特定组。本例中的命令如下所示:

Get-ADUser -Filter * -SearchBase "OU=Users,OU=NY,OU=USA,DC=theitbros,DC=com"| ForEach-Object -process {Add-ADGroupMember -identity "NY Users" -Members $_.SamAccountName}

除了 OU 之外,还可以使用基于 AD 中其他属性的查询将特定用户添加到固定定义的组中。一个例子是:

Get-ADUser -filter {(co -eq "United States")} | ForEach-Object -process {Add-ADGroupMember -identity "USAUsers" -Members $_.SamAccountName}

从组中删除用户

从组中删除用户帐户的工作原理类似。但在这里,Remove-ADGroupMember cmdlet 发挥了作用。要从 Purchasing 组中删除上面添加的用户,可以使用以下命令:

Remove-AdGroupMember -Identity Purchasing -Members joost, joosc

从组中删除多个用户也可以使用与上述相同的选项来完成。这里也使用了Remove-AdGroupMember cmdlet。

控制域之间的组成员身份

当使用多个域时,还可以将一个域的用户帐户添加到其他域的用户组中。以下命令可用于此目的:

$User = Get-ADUser -Identity "CN=ChewDavid,OU=UserAccounts,DC=NORTHAMERICA,DC=FABRIKAM,DC=COM" -Server "northamerica.fabrikam.com"
$Group = Get-ADGroup -Identity"CN=AccountLeads,OU=UserAccounts,DC=EUROPE,DC=FABRIKAM,DC=COM" -Server "europe.fabrikam.com"
Add-ADGroupMember -Identity $Group -Members $User -Server "europe.fabrikam.com"

这些命令将域 Northamerica 中的用户 CN=Chew David,OU=UserAccounts 添加到组 CN=AccountLeads,OU=UserAccounts欧洲

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

取消回复欢迎 发表评论:

关灯