Powershell - Get-ADOrganizationalUnit Groups

时间:2013-11-08 14:26:43

标签: powershell powershell-v2.0

我开始关注powershell。但话说再说也许不是! 有人可以告诉我如何列出OU中的所有安全组吗?

我能够列出组内的所有成员,例如:

get-adgroupmember "groupName" | select-object name

在下文中,我尝试列出OU中的所有安全组:

Import-Module ActiveDirectory
Get-ADOrganizationalUnit -Identity 'ou=OUName'

ERROR: Cannot find object with identity: ......

我想从特定OU中的所有安全组中删除所有成员。然后我想从文本文件中添加组成员。

2 个答案:

答案 0 :(得分:4)

来自Get-ADOrganizationalUnit

以下是您应该如何使用-Identity(来自上述文档底部的示例):

Get-ADOrganizationalUnit -Identity 'OU=AsiaPacific,OU=Sales,OU=UserAccounts,DC=FABRIKAM,DC=COM'

所以我怀疑你的'ou = OUName'需要相关的DC =域,DC = com信息。

要删除用户,我会这样做:

Get-ADGroup -SearchBase "OU=AsiaPacific,OU=Sales,OU=UserAccounts,DC=FABRIKAM,DC=COM" -filter {GroupCategory -eq "Security"} | Get-ADGroupMember | Remove-ADGroupMember -WhatIf

将-WhatIf替换为-Confirm:$ false如果您满意的话,这可以满足您的需求。

答案 1 :(得分:1)

如果要检索特定OU中的所有组。我会用:

get-adobject -Filter 'ObjectClass -eq "group"' -SearchBase <<Path to OU>>

将返回的对象传递给Get-ADGroupMember将为您提供当前成员资格。然后使用remove-adgroupmember删除现有成员,使用add-adgroupmemeber添加txt文件中的名称。