将 GPO 脚本存储在 Netlogon 或策略文件夹中?

将 GPO 脚本存储在 Netlogon 或策略文件夹中?

将登录脚本集中存储在\\DOMAIN\Netlogon或默认存储在策略文件夹中是否是最佳做法,例如\\DOMAIN\SysVol\DOMAIN\Policies\{DE22B6FB-315E-4C55-BF06-A7709913CD9E}\User\Scripts\Logon

选择一个位置而不是另一个位置会产生什么影响(如果有的话)?

我倾向于将它们全部保存在 Netlogon 中,以便于访问/审查......

答案1

默认位置用户登录脚本是 NETLOGON 共享,默认情况下,它会复制到林中的所有 DC,并且物理位置如下:

%SystemRoot%\SYSVOL\sysvol\<domain DNS name>\scripts

或者

%SystemRoot%\SYSVOL_DFSR\sysvol\<domain DNS name>\scripts(适用于基于 DFS 的 FRS,因为从 Server 2012R2+ 开始建议使用此方法)

如果你设置用户登录脚本(ADUC > 用户 > 属性 > 登录 > 登录脚本 > hello.cmd),它是从 NETLOGON 执行的。

“官方”最佳做法是:

  • 如果您通过 GPO 设置,则将它们与 GPO 一起存储。
  • 如果您将其设置为 AD 中的用户属性,则将它们存储在 NETLOGON 中。

答案2

两个位置在域控制器之间同步,因此对我来说这只是个人选择。

我个人的看法是,当 GPO 数量超过一定数量后,将所有内容都放在 netlogon 中会很难管理。(例如,当您删除 GPO 时,脚本不会被删除)

答案3

不确定这是不是“最佳实践”,但我看到一些博客文章推荐这样做,我更喜欢它:

我们有一个文件共享,其中包含 GPO 的所有支持文件,包括脚本。所有脚本都已签入版本控制。

文件共享是使用 DFS 设置的,因此它是 \domain.com\DFS\GPO-Files

该脚本位于子目录 \domain.com\DFS\GPO-Files\Scripts 中

在 GPO 中,您调用脚本“powershell.exe”,并对参数执行 -File PathToScript。

我喜欢这种方法,因为 GPO 文件和脚本位于众所周知的位置,而不是埋在具有 GUID 名称的文件夹中。

它还允许更好地控制 powershell.exe 的调用方式,就像 ExecutionPolicy 一样。

相关内容