我在基于 Windows Active Directory 的网络(具有本地域控制器)中有一个计算机 GPO,当前在\\MYDOMAIN\NETLOGON\...\application.msi
启动时安装应用程序。这对于我所有在启动时连接到网络的计算机都很有效,但我有越来越多的 Windows 用户通过 VPN 连接,这意味着计算机在用户登录后的某个时间点才连接到网络。
在没有任何明显最佳实践我建议的替代解决方案是将其复制application.msi
到隐藏的专用文件夹C:\localapps
并从那里进行安装。
顶层文件夹创建功能正常。复制配置文件功能正常。文件夹树上的继承权限功能正常。但不起作用的是application.msi
无法复制文件。
令人沮丧的是,如果我重命名application.msi
为application.msi.zzz
同一个 GPO,就可以 - 而且确实 - 很高兴地将文件复制到本地机器。
进一步研究后,psexec -i -s explorer.exe
我得到了一个以 GPO 的 SYSTEM 帐户运行的资源管理器窗口。事实上,我可以导航到适当的位置,\\MYDOMAIN\NETLOGIN
并且我可以从那里复制文件,除非它们被命名为可执行文件或安装程序。文件夹中的所有文件都具有继承的权限,并且我已确认它们是相同的。所有文件都“未阻止”。所有文件都有相同的所有者(MYDOMAIN\Administrators
)。我不是想从网络共享执行 MSI,只是想复制它。
经验结论:GPO 使用的 SYSTEM 帐户无法从共享中复制*.msi
或*.exe
文件\\MYDOMAIN\NETLOGON\
。
这似乎不是一个合理的情况,那么我如何让我的 GPO 按application.msi
原样复制,以便下次有机会从本地磁盘安装它?
答案1
令人尴尬的是,结果发现是我的客户端防病毒软件 ESET Endpoint Security 中的入侵检测系统阻止了对它认为不受信任的 SMB 网络连接上的可执行文件的任何访问。
我修改了组织策略以禁用对域控制器(它们都不与任何客户端计算机位于同一 LAN 上)上的文件进行的特定测试,并且一切似乎都很好。