【发布时间】:2020-05-24 23:44:12
【问题描述】:
我有一个 C# Windows 程序正在读取由管理员使用 ADMX 设置的自定义组策略设置。 目前,该应用正在直接读取反映组策略设置的注册表值。
现在,我想制作这个应用程序的纯 UWP 版本(最好不使用桌面桥),它应该直接从 Microsoft Store 安装。我已经看到in another question 这种应用程序无法访问 Windows 的注册表。但是,可能有专门针对组策略的专用 API - 但没有很好的文档记录 (see here)。
那么 - 纯 UWP 应用有什么方法可以读取组策略设置?
【问题讨论】:
-
您可以创建一个新项目,然后将可执行文件设置为以管理员身份运行。然后从 UWP 调用新项目。这样,不以管理员身份运行的主项目可以从新的可执行文件中读取组策略。
-
如果您可以从 UWP 应用程序访问组策略或注册表,您将违反这些应用程序的目的,即阻止您执行此类操作。您指出的第二个链接适用于具有“完全信任”的安装程序,正如@jdweng 指出的那样,您需要创建一个可以作为管理员运行的应用程序以充当服务。您可以这样做:docs.microsoft.com/en-us/windows/uwp/launch-resume/…
-
您的链接所做的正是我的建议。我说“本文的重点是创建和使用在单独的后台进程中运行的应用服务”。我的建议是创建一个“单独的流程”。
-
组策略在桌面和其他通用平台(如 Xbox、Phone 和 Windows 10X)之间不一致,因此您想出的任何东西都不会通用。通用版是Windows.Management.Policies。
标签: c# windows uwp registry group-policy