网站搜索

Set-ADGroup - 在 PowerShell 中修改 Active Directory 组属性


在这篇文章中,我将向您展示如何使用 Set-ADGroup 来使用 PowerShell 脚本修改 Active Directory 组属性。

要使用 Set-ADGroup cmdlet,需要安装 ActiveDirectory 附加模块。

PowerShell 中的 Set-ADGroup cmdlet 可修改 Active Directory 组属性。您可以使用 cmdlet 参数修改常用属性值。与 cmdlet 参数无关的属性值可以使用“添加”、“删除”、“清除”和“替换”参数进行修改。

设置 ADGroup Cmdlet

Set-ADGroup cmdlet 语法如下

Set-ADGroup
   [-WhatIf]
   [-Confirm]
   [-Add <Hashtable>]
   [-AuthType <ADAuthType>]
   [-Clear <String[]>]
   [-Credential <PSCredential>]
   [-Description <String>]
   [-DisplayName <String>]
   [-GroupCategory <ADGroupCategory>]
   [-GroupScope <ADGroupScope>]
   [-HomePage <String>]
   [-Identity] <ADGroup>
   [-ManagedBy <ADPrincipal>]
   [-Partition <String>]
   [-PassThru]
   [-Remove <Hashtable>]
   [-Replace <Hashtable>]
   [-SamAccountName <String>]
   [-Server <String>]
   [<CommonParameters>]

身份参数指定要修改的 Active Directory 组。您可以通过组的专有名称、安全标识符、GUID 来识别组。

PowerShell Set-ADGroup 与 Get-ADGroup 结合使用效果最佳。您可以使用Get-ADGroup读取需要修改的组信息,并使用竖线(||)Set-ADGroup修改属性< Active Directory 组数。

使用身份为组设置属性

让我们考虑一个场景,您想要将组描述更新为使用 Active Directory 中的 Identity 参数标识的组。使用下面的 PowerShell Set-AdGroup 使用描述属性更新组描述。

Set-ADGroup -Server localhost:60000 -Identity "CN=ShellAccessControl,DC=ShellNC" -Description "My Access Group" -Passthru

在上面的 PowerShell Set-AdGroup 命令中,通过其可分辨组名称来标识组,并使用“描述”属性来设置组描述。

使用 set adgroup 修改过滤组的描述

让我们考虑一个场景,您想要更新名称以 Access 开头的组的组描述,请使用以下 PowerShell 脚本使用 Set-ADGroup 更新组描述

Get-ADGroup -Filter 'name -like "Access*"' | Set-ADGroup -Description "Access Group"

上述 PowerShell Set-AdGroup 命令过滤器组的名称以使用 Get-ADGroup 的 Access 开头,并使用管道 (||) 运算符使用Set-ADGroup修改所有组的描述。

酷提示:你知道 Windows 中 cat 命令的等效命令吗?

使用 Set-AdGroup 修改组的属性

Set-ADGroup -Server localhost:60000 -Identity "CN=AccessControl,DC=AppNC" -Description "Access Group" -Passthru

在上面的 PowerShell Set-AdGroup 示例中,它使用 SetAdGroup 身份参数<将名为 AccessControl 的组的描述修改为访问组

通过指定实例设置属性

$Group = Get-ADGroup -Server localhost:60000 -Identity N=AccessControl,DC=AppNC"

$Group.Description = "Access Group"

Set-ADGroup -Instance $Group -Passthru

在上面的 PowerShell 脚本中,使用 Set-AdGroup 实例参数设置 AccessControl 组的描述属性。 Set-AdGroup -Instance 参数只能更新已由 Get-AdGroup cmdlet 检索的组对象。

酷提示:在 PowerShell 中获取广告组用户列表!

使用 Set-AdGroup 重命名 Active Directory 组

使用 get-adgroup 和 set-adgroup cmdlet 可以非常轻松地重命名 Active Directory 组。 rename-adobject 和 set-adgroup 重命名需要两个命令。

get-adgroup -identity “GroupName” | %{set-adgroup -samaccountname “ShortName”; $_ | rename-adobject -newname “ShortName”}

在上面的 PowerShell 设置广告组示例中,get-adgroup 标识组并使用 set-adgroup cmdlet 重命名 Active Directory 组。

酷提示:了解如何使用 userprincipalname 获取 aduser!

使用 Set-AdGroup -Replace 将电子邮件地址添加到 AD 安全组

假设 CSV 文件有两列,第一列是组名,第二列名称是电子邮件地址。

要将电子邮件地址设置为广告安全组,您可以使用邮件属性,如下面的代码所示

Import-CSV -path 'C:\PowerShell\AD-GroupScript\AddEmailToGroups.csv' |
ForEach-Object {Set-ADGroup -Identity $_.group -Replace @{mail = "$($_.mail)"}}

在上面的 Set-ADGroup 示例中,我们首先导入包含组名称和电子邮件地址的 CSV 文件。

稍后我们使用 Foreach 循环遍历每个组,并使用 Set-ADGroup -Replace 参数访问邮件属性并将其分配给相应的组。

酷提示:在 PowerShell 中从 CSV 获取广告用户属性!

结论

我希望您可能喜欢上面的文章使用 Set-ADGroup 修改 Active Directory 组属性 PowerShell 中的 cmdlet。 Set-ADGroup 与 Get-ADGroup 结合使用效果最佳,可读取组信息并使用管道 (||) 运算符修改属性值。

您可以在 ShellGeek 主页上找到有关 PowerShell Active Directory 命令和 PowerShell 基础知识的更多主题。

您知道如何使用 PowerShell Search-AdAccount 查找在特定 OU 中禁用的所有用户帐户 阅读此处!

相关文章