仅将 GPO 应用于一台计算机上的一个用户

仅将 GPO 应用于一台计算机上的一个用户

我有一个 GPO,需要将其应用于用户DOMAIN\DumbGuy,但仅当他登录时才应用DOMAIN\DumbGuysComputer$DOMAIN\NiceReceptionist登录时DOMAIN\DumbGuysComputer$不应应用。DOMAIN\DumbGuy登录时DOMAIN\ReceptionstsComputer$不应应用。

它只需要适用于一个人一台电脑

如果我将 GPO 应用于用户对象,它将应用于用户的所有计算机。如果我将 GPO 应用于计算机对象,它将应用于该计算机上的所有用户。如果我将其应用于两者,它将传播得更广。

如何将 GPO 应用于仅一台计算机上的一个用户?

答案1

我的建议和居民的类似。

为该单台计算机创建一个子 OU,在其中创建一个 GPO,并将其设置为环回合并模式。在 GPO 上使用安全过滤,以便只有DumbGuy具有应用权限的人才能应用它。我认为没有理由使用两个不同的 GPO。

非常重要!不要过滤经过身份验证的用户的“读取”权限,因为组策略子系统需要先读取 GPO,然后才能将其应用于用户

答案2

我会看看组策略环回处理与安全过滤结合使用。您可以使用组策略环回功能来应用仅取决于用户登录到哪台计算机的组策略对象 (GPO)。

这是一个如何实现的示例

实际上,我该如何实现这个:

创建两个不同的 GPO 并将它们分配给 DOMAIN\DumbGuysComputer$。

使用以下配置第一个 GPO环回处理设置替换模式并配置安全过滤仅适用于域名\DumbGuy用户。

配置第二个不带环回处理的 GPO,并将安全过滤配置为仅适用于域名\NiceReceptionist用户。

答案3

我可能只会将 GPO 链接到用户所在的 OU,并使用安全过滤或 WMI 来确保它仅适用于该用户,然后将整个脚本包装在一个if($ENV:computername -eq whatever){}块中。

答案4

我创建了一个似乎可以工作的 WMI 过滤器:

Select * from WIN32_OperatingSystem where NOT CSName="PCName"

您可以使用以下命令在 powershell 中测试 WMI 查询:

gwmi -Query 'Select * from WIN32_OperatingSystem...'

相关内容