Implement Policies for extension management
originally filed by @htcfreek
Provide a description of requested docs changes
Implement same set of policies for extension management as currently exists in PT Run. This helps company to use the toy by respecting infernal restrictions. (This should be implemented in the first release.)
Sorry for the wrong issue template. But there wasn't a better available for me.
comment from @joadoumie
@htcfreek -- the first wave of extensions (not including our built-in extensions) are packaged applications themselves. It should be the case that companies could block folks from installing those extensions...
That said... we are also aiming to have a store/marketplace type situation that lists all available extensions so it's easy for folks to find and install extensions. We could offer a policy that basically disables that command, or when that command is invoked, we could potentially just show a different UI saying that "Extensions are disabled by policy".
I'm not sure exhaustively what we should do here, so would love to circle back on this one with you to better understand what we can do to make this as powerful for company machines as it is for individual PCs. comment from @htcfreek
@joadoumie Blocking the extension store is a good idea in the first step.
In the second step there should be policies allowing blacklist/whitelist behavior too. Or much better: A list policy that allows to decide for each plugin (id) if the plugin is enabled/disabled/user controlled like in MS Office, MS Edge and other browsers.
xref: https://learn.microsoft.com/windows/powertoys/grouppolicy#powertoys-run_comment from @crutkas_
Love that you found the fork @htcfreek!
@zadjii-msft Here is my implementation idea:
Two settings either combined in one or split in two policies. The two settings are:
- Control mode: Built-in only, MS only, Allow list, Block list
- List of managed exts (for the list modes).
Differently to PT Run we do not control if exts are enabled/disabled. Instead we control if they are available in CmdPal.
Thoughts?
@zadjii-msft Where does CmdPal initialize the bulit-in and third-party extensions on startup in its code?