我一直在尝试计算从 DC-A 到 DC-B 的 DC 中有多少个 GPO 文件(它们位于受信任域中)。我收到此错误:
Get-GPO : Value does not fall within the expected range.
At C:\Temp\HealthCheck\ADReplication.ps1:70 char:18
+ $gpoCount = (Get-GPO -all -Server $dc).count
+ ~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Get-GPO], ArgumentException
+ FullyQualifiedErrorId : System.ArgumentException,Microsoft.GroupPolicy.Commands.GetGpoCommand
它与其他 dc 兼容,但很少有 dc 会遇到此错误。我想知道为什么会发生这种情况并找到解决方案。
谢谢你!
答案1
在我的环境中,这可以重现到受信任的域。我没有直接的解决方法,但这对您有用吗?这需要拥有远程林的凭据,但我认为您会拥有它们。
Invoke-Command -Credential $cred -ComputerName $server -ScriptBlock {Get-GPO -All}
答案2
此规则的唯一例外是跨域 GPO,其中 GPO 在另一个域中定义,但链接方式使得来自邻近域的客户端需要应用它们(站点级 GPO 就是一个例子,因为 Active Directory 站点可以跨多个域)。对于跨域 GPO,客户端将需要从邻近域中的 DC 中提取内容,这可能是一个非常缓慢的过程。因此,通常不建议使用跨域 GPO - 来自科技网