[PTRun][Enterprise]GPO for plugin enabled state (#27468)

* try code for gpo with pluginID param

* fix typo

* fixes

* update admx

* Add second policy to admx

* spelling fixes

* admx clean up

* add gpo code

* small fixes

* fixes

* fix cast

* update settings code

* bug fixes

* fix plugins disabled warning

* Info bar in settings

* settings ui fixes

* code clean up

* fix spelling

* fix spelling

* code optimization

* changes

* fix code

* switch to char*

* update comments

* validate plugin ID

* spell fixes

* spell fixes

* fix IPlugin interface

* Update Directory.Packages.props

hopefully fixes unit tests

* revert change of nuget pkg

* fixes

* fix spell check

* add todo comment

* improve gpo.h

* improve gpo.h

* update gpo.h

* clean up code in gpo.h

* fix build

* try to fix build

* xaml fix

* Fix getting string value from the registry

* communicate policy state suing settings.json

* various changes and gpo docs

* spell fixes

* PT Run: Policy handling

* spell fix

* fix logging

* fix admx revision

* revision fix 2

* review feedback 1

* review feedback 2

* dev docs update

* fix typo
This commit is contained in:
Heiko
2023-10-11 16:37:15 +02:00
committed by GitHub
parent 19827d0093
commit 602a3ff090
39 changed files with 377 additions and 15 deletions

View File

@@ -20,6 +20,10 @@
"IcoPathLight": string // Path to light theme icon. The path is relative to the root plugin folder
}
```
- [ ] Make sure your `Main` class contains a public, static string property for the `PluginID`. The plugin id has to be the same as the one in the `plugin.json`file.
```csharp
public static string PluginID => "xxxxxxx"; // The part xxxxxxx stands for the plugin ID.
```
- [ ] Do not use plugin name or PowerToys as prefixes for entities inside of the plugin project
- [ ] The plugin has to have Unit tests. Use MSTest framework
- [ ] Plugin's output code and assets have to be included in the installer [`Product.wxs`](/installer/PowerToysSetup/Product.wxs)

View File

@@ -94,3 +94,34 @@ If enabled, the automatic update checks are disabled.
If disabled or not configured, the automatic update checks are enabled.
-->
### PowerToys Run
#### Configure enabled state for all plugins
This policy configures the enabled state for all PowerToys Run plugins. All plugins will have the same state.
If you enable this setting, the plugins will be always enabled and the user won't be able to disable it.
If you disable this setting, the plugins will be always disabled and the user won't be able to enable it.
If you don't configure this setting, users are able to disable or enable the plugins.
You can override this policy for individual plugins using the policy "Configure enabled state for individual plugins".
Note: Changes require a restart of PowerToys Run.
#### Configure enabled state for individual plugins
With this policy you can configures an individual enabled state for each PowerToys Run plugin that you add to the list.
If you enable this setting, you can define the list of plugins and their enabled states:
- The value name (first column) is the plugin ID. You will find it in the plugin.json which is located in the plugin folder.
- The value (second column) is a numeric value: 0 for disabled, 1 for enabled and 2 for user takes control.
- Example to disable the Program plugin: `791FC278BA414111B8D1886DFE447410 | 0`
If you disable or don't configure this policy, either the user or the policy "Configure enabled state for all plugins" takes control over the enabled state of the plugins.
You can set the enabled state for all plugins not listed here using the policy "Configure enabled state for all plugins".
Note: Changes require a restart of PowerToys Run.