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 中禁用的所有用户帐户 阅读此处!