为什么我们不能直接将组从全局范围更改为域本地或反之亦然?

为什么我们不能直接将组从全局范围更改为域本地或反之亦然?

如果我们需要将组的范围从全局更改为域本地或反之亦然,我们首先需要将其更改为通用。这样做的原因是什么?

答案1

我认为您无法做到这一点,因为需要进行一些检查。例如,如果组的范围是域本地,并且它包含外部主体(即来自外部 AD 林的帐户),则无法进行转换:

在此处输入图片描述

其他原因可能是 UI 和 API 相当旧,而且微软已决定不再添加新功能 - 谁知道呢(:

更新: 我已经测试过使用 PowerShell 更改组的范围:

Get-ADGroup testgroup | Set-ADGroup -GroupScope Global

结果类似:

Set-ADGroup : The request is not supported

因此实际上检查是由域控制器执行的,它返回错误 50 (0x32) - ERROR_NOT_SUPPORTED。

对我来说,这意味着 - 没有这样的内置功能,因为在大多数情况下,转换需要手动工作,即删除外国主体等。

答案2

只要该组还没有任何冲突的成员身份,您仍然可以这样做。您可以将其转换为通用组,然后再转换为域本地组。

答案3

这也让我困惑了一分钟。
以下解决方案对我有用:

Set-ADGroup -Identity (FolderName) -GroupScope Domainlocal

答案4

即使现在,您似乎也无法直接将组 DomainLocal 范围更改为 Global 范围。您仍然需要先将其切换到 Universal 范围。

如果您有一堆具有 DomainLocal 范围的组需要更改为 Global 范围,请尝试使用以下 Powershell 来简化任务:

Get-ADGroup -Filter * -SearchBase "OU=somelocation,DC=domain,DC=local" | ForEach-Object { Set-ADGroup -identity $_.Name -groupscope Universal }
Get-ADGroup -Filter * -SearchBase "OU=somelocation,DC=domain,DC=local" | ForEach-Object { Set-ADGroup -identity $_.Name -groupscope Global }

相关内容