PSResourceGet
PSResourceGet copied to clipboard
Add Scope to Repositories
Summary of the new feature / enhancement
In order to make repository registration available system-wide we should add a -Scope parameter to Register-PSRepository. This parameter will determine the file path where the repository metadata is stored and therefore determine whether all users can access the repository registration. This change will also introduce the following parameters:
- [ ] Add a -
ScopeParameter toRegister-PSResourceRepository - [ ] Add a -
ScopeParameter toSet-PSResourceRepository - [ ] Add a -
ScopeParameter toUnregister-PSResourceRepository - [ ] Add a -
ScopeParameter toGet-PSResourceRepository - [ ] Add a -
RepositoryScopeParameter toFind-PSResource - [ ] Add a -
RepositoryScopeParameter toInstall-PSResource - [ ] Add a -
RepositoryScopeParameter toUpdate-PSResource - [ ] Add a -
RepositoryScopeParameter toUninstall-PSResource - [ ] Add a -
RepositoryScopeParameter toPublish-PSResource - [ ] Add a -
RepositoryScopeParameter toSave-PSResource
Proposed technical implementation details (optional)
CurrentUser will remain the default behavior even with these changes. We will not enforce uniqueness across scope, and therefore need additional parameters to indicate repository scope.
Be sure permissions for ubuntu are also taken into consideration with install scope parameter, related isse #364
Please review the "CurrentUser" default as more and more users have "Back up important PC folders to OneDrive" Enabled in OneDrive: https://github.com/PowerShell/PowerShellGet/issues/195, https://github.com/PowerShell/PowerShellGet/issues/724, https://github.com/PowerShell/PowerShellGet/issues/627
PS: The problem around this request has in two-weeks it's two-year anniversary on Nov 21, 2022!
@weyCC81 thanks for reaching out. There's an issue to track this in the PowerShell repository: https://github.com/PowerShell/PowerShell/issues/15552
It is being worked on and will be addressed from the PowerShell side.
At the very least, allow for a -Path or -Destination parameter to Install-PSResource to override the -Scope parameter, and at best, allow for an environment variable, ps variable, powershell.config.json entry, or otherwise to opt in to a new default folder. This is work that can be done here while waiting on a PS result
@JustinGrote We have Save-PSResource with the -IncludeXML parameter that would essentially give the desired outcome. The reason we didn't include -Path or -Destination parameter for Install-PSResource is because it would be redundant with Save-PSResource behavior.