使用 Windows Server 2012 通过 GPO 禁用“所有程序”中的所有项目
我已将“从开始菜单中删除常用程序组”设置为启用。
“所有程序”中的所有内容现在都是空的,如何在“所有程序”中添加特定项目,例如 Internet Explorer、记事本和 Microsoft Word?
使用 Windows Server 2012 通过 GPO 禁用“所有程序”中的所有项目
我已将“从开始菜单中删除常用程序组”设置为启用。
“所有程序”中的所有内容现在都是空的,如何在“所有程序”中添加特定项目,例如 Internet Explorer、记事本和 Microsoft Word?
您可以通过组策略的用户首选项设置快捷方式(Your Group Policy\User Configuration\Preferences\Shortcuts)轻松完成。
浏览此分步指南:http ://www.morgantechspace.com/2014/12/Add-start-menu-shortcut-via-Group-Policy.html
如果您想通过 GPO 将程序固定到开始菜单,没有直接的组策略首选项设置可以通过 GPO 将项目固定到开始菜单,但我们可以通过登录脚本来实现。
查看本指南:http ://www.morgantechspace.com/2014/05/How-to-Pin-a-Program-to-Start-menu-via-Group-Policy.html
您不能通过使用传统的组策略来做到这一点,但您需要做的是将快捷方式 (.lnk) 复制到适当的目录。
您可以通过使用组策略首选项或启动/登录脚本等来实现此目的。
如果您要重定向开始菜单,那么这就是您需要将快捷方式复制到的位置。
如果不是,那么默认情况下,Server 2012 上的开始菜单位置是:
所有用户
(注意:您配置的 GPO 通过禁用此位置来工作。但是,我将其留在这里以供参考)
C:\ProgramData\Microsoft\Windows\Start Menu\Programs
特定用户
C:\users\<username>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
我个人需要将网络共享中的项目添加到本地开始菜单,现在所有组策略都只添加用户特定的开始菜单项,而不是存储在 c:\programdata\microsoft\windows\start menu\programs\我们的第三方启动栏仅查看此目录,因此仅通过组策略无法将程序添加到 eduSTAR 栏,因此需要额外的脚本和任务。
使用 xcopy 或 robocopy 引发错误并以管理员身份运行脚本仍然会给出权限被拒绝错误。
我的答案是创建一个“登录时”的计划任务,该任务运行任何具有管理员权限的可执行文件/脚本。
对我来说,每天使用以下代码从开始菜单中删除任何自定义安装的程序,除非您想强制删除所有开始菜单项,否则不需要这样做:
代码的下一部分从服务器共享位置复制到本地 Windows 开始菜单位置的快捷方式。
现在,服务器共享文件夹中的所有快捷方式“StartMenuShortcuts”可以命名为任何我刚刚命名为便于阅读的名称,每次有人登录时都会删除当前在开始菜单中的所有快捷方式,并将它们替换为快捷方式“StartMenuShortcuts”文件夹,允许您强制执行和添加/删除您想要的任何内容,如果 /is 参数已经在该位置,则不会复制它,因为所有快捷方式都非常小,这对登录性能几乎没有影响。
我还使用这种方法来运行调用需要提升权限的 msi 文件的 vbs 脚本,计划任务在与登录脚本一起运行时会更强大,因为它在用户看到他们的桌面之前运行(如果你想隐藏你的登录脚本很方便命令窗口)
无论如何希望这会有所帮助,我希望我在几年前就解决了这个问题,这样可以节省我数周的工作时间。