在我的任务中,有必要根据 OU 名称创建组,同时考虑到嵌套。

比如有这样一个OU

OU=Credential,OU=DepIT,DC=Contoso,DC=loc

然后我需要创建以下组:

  • DepIT :三组DepIT_RDepIT_WDepIT_L

  • Credential :两组DepIT_Credential_R , DepIT_Credential_W

最后, DepIT_Credential_RDepIT_Credential_W必须是DepIT_L成员。

现在的结构如下: OU DepIT ,其中包含 OU Credential 我准备了我想做的截图:

1. DepIT——结构

2. DepIT - 结构和组

3. 凭证 - 组

4. DepIT_L 群成员

到目前为止我的尝试:

$OU = "OU=DepIT,DC=Contoso,DC=loc"
$one_level_OU = Get-ADOrganizationalUnit -SearchBase $OU -SearchScope OneLevel -filter *


$one_level_OU | 

foreach{

New-ADGroup -Name $($_.Name+"_RW") -GroupCategory Security -groupscope global -Path $_.DistinguishedName
New-ADGroup -Name $($_.Name+"_R") -GroupCategory Security -groupscope global -Path $_.DistinguishedName
New-ADGroup -Name $($_.Name+"_L") -GroupCategory Security -groupscope global -Path $_.DistinguishedName

    $ous = Get-ADOrganizationalUnit -SearchBase "OU=$($_.name),OU=DepIT,DC=Contoso,DC=loc" -SearchScope Subtree -filter "name -notlike '*$($one_level_OU.Name)*'"

    $group_L = get-adgroup -Filter "name -like '*_L'" -Properties * | select name

    $ous | foreach {

       New-ADGroup -Name $($_.Name+"_RW") -GroupCategory Security -groupscope global -Path $_.DistinguishedName
       New-ADGroup -Name $($_.Name+"_R") -GroupCategory Security -groupscope global -Path $_.DistinguishedName


       foreach ($gr in $group_L) {
            Add-ADGroupMember -Identity $($_.name) -Members "$($_.Name+"_RW")", "$($_.Name+"_R")"
       }
    }
}

非常感谢您的帮助。

  ask by Nikita translate from so

本文未有回复,本站智能推荐:

1回复

Powershell:查找AD中的所有计算机,但排除某些OU

我试图列出我的域中的所有计算机,但存储在两个OU的任何一个中的计算机除外。 一旦我使用-or运算符添加了第二个OU,事情就会中断。 使用此方法,我返回所有计算机,但存储在第一个不需要的ou中的计算机除外: 添加-Or运算符会使不需要的计算机(存储在这两个OU中的那些计算机)包含在我的结
2回复

使用PowerShell在特定OU中更新AD中的用户

假设我在OU树下面: 我想更新OU中的特定容器,例如法国的笔记本电脑组中的用户。 如果我想从CSV导入用户该怎么做? 下面的代码检查并更新所有OU。 不幸的是,我不知道如何选择一个特定的容器。 有什么建议么?
1回复

如何使用WMI获取计算机的当前OU并列出该OU中的所有其他计算机?

我正在使用WMI,我正在尝试找到一个powershell脚本,它允许我获取本地计算机的OU,然后获取该OU中的完整计算机列表。
2回复

使用PowerShell在内置OU中查找相邻OU中的ActiveDirectory用户对象

我有目录结构 我正在使用命令 由于某种原因,该命令无法从SubChildCompany1下的嵌套Users ou中获取任何用户对象。 如果我进行相同的搜索,但仅向下钻取到ChildCompany1 Users OU,我可以在该容器中获取所有用户吗? 我知道我可以重构目录的架构,但是在
1回复

在特定的OU中复制广告属性(州到城市)

我有一个简单的脚本问题。 我需要在OU中的所有用户上复制属性(从STATE到CITY)。 我找到了此脚本,但是某处出错。 有人可以帮我吗?
2回复

为特定OU中的每个用户导出ADSamAccountNames和组的CSV

我在这里发现了一个类似的问题,但它不太适合我的需要,而且我在调整它时遇到了麻烦。 我需要创建一个包含特定 OU 中所有用户的.csv文件以及他们的 AD 组成员身份,格式如下:User, Group (This is a Header)User1, Group1User1, Group2User1,
1回复

比较AD用户从CSV到特定的OU

我有一个来自整个域的用户名的CSV列表,我正尝试将该列表与特定的OU进行比较,然后将匹配项发送到另一个文件。 我是Powershell的新手,因此经过大量研究并与其他脚本进行比较,我得出了以下结论: 运行此命令时,出现错误“ Get-ADUser:无法验证参数'Identity'上的参数。
1回复

在PowerShell中查询AD的ManagedBy属性

我在powershell中编写了一个小脚本,用于查询AD中特定OU中的用户组,以获取这些组的名称,并尝试获取这些组的ManagedBy属性。 我一直在网上搜索,并在这里寻找为什么ManagedBy属性未填充结果但我没有运气的解决方案。 我发现的每个解决方案都是用C#(或另一种语言)编写的,我