在 Windows 上,如何才能在软件包安装完成之前阻止登录?

在 Windows 上,如何才能在软件包安装完成之前阻止登录?

我有一个 MSI,它配置为机器级安装,因为它是一个设备驱动程序。

我可以通过 Active Directory 和组策略顺利部署它。但是在新启动的机器上,用户可以在安装完成之前登录,并且我在事件日志中收到一条警告,说安装无法完成,将在下次重新启动时尝试。

如何让登录屏幕等待安装完成?

答案1

您可能需要测试 SyncForegroundPolicy 组策略设置。启用后,您应该会在登录对话框之前看到软件安装启动横幅。

“此策略设置确定组策略处理是否同步(即计算机是否在计算机启动和用户登录期间等待网络完全初始化)。默认情况下,在客户端计算机上,组策略处理不是同步的;客户端计算机通常不会在启动和登录时等待网络完全初始化。现有用户使用缓存的凭据登录,从而缩短登录时间。网络可用后,组策略在后台应用。

“请注意,由于这是后台刷新,软件安装和文件夹重定向等扩展需要两次登录才能应用更改。为了能够安全运行,这些扩展要求没有用户登录。因此,必须在用户主动使用计算机之前在前台处理它们。此外,对用户对象所做的更改(例如添加漫游配置文件路径、主目录或用户对象登录脚本)可能需要最多两次登录才能检测到。”

答案2

真的不能

没有原生的方法可以做到这一点,而我(或 MS 的人们)知道的解决此问题的唯一方法涉及一些黑客解决方法,例如禁用键盘和鼠标或wait在脚本或启动例程中添加较长的周期以防止发生任何其他事情,而这两种方法都可能促使用户通过按下电源按钮来制造更大的混乱。

我能想到的最好的方法是告诉每个人在下班时重新启动他们的机器,以便安装有足够的时间完成,而所有用户都不会把事情搞糟。

如果出于某种原因无法选择,您可以尝试将安装设为注销或关机脚本 - 这应该会强制注销或关机等待安装完成再继续。当然,这需要您的用户实际注销或关机作为半定期活动,我的经验告诉我这不太可能。

相关内容