PowerShell / PowerShell/PSResourceGet

`Get-PSResource` does not search in user context environment variable `PSModulePath`

Ouverte
#889 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Area-Paths feature_request
Langage dominant
C#
Étoiles
576
Forks
114
Merge moyen
1 j 2 h
PR mergées (30 j)
7

Description

Prerequisites
  • Write a descriptive title.
  • Make sure you are able to repro it on the latest released version
  • Search the existing issues.
Steps to reproduce

PackageManagement, PowerShellGetv2 and PowerShellGet 3.0.18-beta (and prior versions) does not search in directorories specified in user context environmental variable PSModulePath when searching for modules. But at least v3 has a -Path parameter.

Reproduce:

  • Install Az.Accounts to %LOCALAPPDATA%\Microsoft\PowerShell\Modules by using Save-PSResource.
  • Make sure said module is not installed any other places specified in $env:PSModulePath.
    • Or rather any other default locations for PowerShell modules I guess.
  • Make sure %LOCALAPPDATA%\Microsoft\PowerShell\Modules is specified in HKCU:\Environment\PSModulePath, and that PowerShell loaded it into $env:PSModulePath at start. Should also be seen in [System.Environment]::GetEnvironmentVariable('PSModulePath','User').
  • Search for installed modules with PowerShellGet\Get-PSResource -Name 'Az.Accounts'. Result: Not found.
  • Add -Scope 'CurrentUser: Nope, still not found.
  • Add -Path ('{0}\Microsoft\PowerShell\Modules' -f $env:LOCALAPPDATA): Found.

Microsoft.PowerShell.Core\Import-Module and Get-Module works as expected.

Expected behavior
PowerShellGet\Get-PSResource should search in all PSModulePath paths, also those specified in user context environmental variable.
Actual behavior
It does not.
Error details

No response

Environment data
PowerShellGet v3.0.18
Windows PowerShell 5.1 x64 on Windows 10 22H2
Visuals

No response

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par reproduire le cas Windows PowerShell 5.1 avec Get-PSResource -Name 'Az.Accounts' et une entrée PSModulePath dans le contexte utilisateur. Suivez l’implémentation de la recherche de Get-PSResource et comparez sa gestion des chemins avec les cas explicites -Path et -Scope CurrentUser. Le travail est terminé lorsque les ressources situées dans les emplacements PSModulePath du contexte utilisateur sont trouvées sans fournir -Path, avec une couverture de régression pour ce scénario.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
csharp, powershell
Domaine
cli, tooling
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
38/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.