在本论坛和 Stack Overflow 的帮助下,我创建了一个模块化 Powershell 脚本,该脚本生成开始菜单和任务栏 XML,供 Windows 10 Pro v1703 上的组策略使用。它本身运行良好。下一步是在安装应用程序后运行它并相应地更新开始菜单。因此,我现在需要想出一种方法来实时更新 tiles/xml,而无需重新启动。
以下是安装应出现在开始菜单中的应用程序后的流程:
1) 脚本查询用户/计算机以安装应用程序、应用程序、快捷方式等 2) 脚本从配置文件中读取组和应用程序列表并查询已安装的应用程序(避免空格和问号) 3) 脚本创建一个名为 startmenu.xml 的文件并将旧文件转换为 startmenuold.xml
4*) 我无法在这里找到一个优雅的解决方案。它现在应该读取新的 xml 并更新开始菜单以反映更改。
我的问题是,到目前为止,我发现更新开始菜单的唯一两种方法是 get-process explorer.exe | stop-process,但这种方法会干扰用户,或者重新启动,而这对于这些设备来说不是一种选择。
关于如何更新开始菜单/让其重新读取我的组策略中引用的startmenu.xml的任何建议都将非常棒!
我已经尝试了标准 gpupdate、gpupdate /force,更新文档上的时间戳,然后运行 gpupdate (/force)。
答案1
终止 Windows Shell Experience Host 进程:
Get-Process 'shellexperiencehost' | Stop-Process
这会保留任务栏、桌面、打开的资源管理器窗口和托管的资源管理器视图,但当该过程自动重新启动时,“开始”菜单会重新初始化。