PowerShell / PowerShell/PSResourceGet

Find-PSResource is not listing all modules in repository (i.e. wildcard)

Ouverte
#520 3 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Area-Find feature_request Status-Investigating
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

I'm trying to list available modules in a Azure Artifacts repository (connected trough v2) but the Find-PSResource requires the name parameter (and wildcard is not supported in ADOFeed).

Could this possibly be related to the #352, which seams to have been resolved in 3.0.11-beta?

Also guessing that this issue #302 should be taken in to consideration.

  1. Register repository
Register-PSResourceRepository -Name 'MyRepo' -URL 'https://pkgs.dev.azure.com/<organization>/<project>/_packaging/<feedname>/nuget/v2' -Trusted 
  1. Try to list available modules in the repository
Find-PSResource -Repository MyRepo

Find-PSResource: Name parameter must be provided.

Find-PSResource -Name '*' -Repository MyRepo

Find-PSResource: -Name '*' is not supported for Find-PSResource so all Name entries will be discarded.

Find-PSResource -Name 'P*' -Repository MyRepo

Find-PSResource: Searching through ADOFeed with wildcard in Name is not supported, so PSStenaNew repository will be skipped.

Expected behavior
I would expect the same behavior as the old Find-Module (i.e. list the available modules)
Actual behavior
Find-PSResource -Repository MyRepo

**Find-PSResource: Name parameter must be provided.**
  
```powershell
Find-PSResource -Name '*' -Repository MyRepo

Find-PSResource: -Name '*' is not supported for Find-PSResource so all Name entries will be discarded.

Find-PSResource -Name 'P*' -Repository MyRepo

Find-PSResource: Searching through ADOFeed with wildcard in Name is not supported, so PSStenaNew repository will be skipped.



### Error details

```console
Get-Error -Newest 3   


   ErrorIndex: 0

Exception             : 
    Type    : System.ArgumentException
    Message : Searching through ADOFeed with wildcard in Name is not supported, so PSStenaNew repository will be skipped.
    HResult : -2147024809
TargetObject          : Microsoft.PowerShell.PowerShellGet.Cmdlets.FindHelper
CategoryInfo          : InvalidArgument: (Microsoft.PowerShel….Cmdlets.FindHelper:FindHelper) [Find-PSResource], ArgumentException
FullyQualifiedErrorId : CannotSearchADOFeedWithWildcardName,Microsoft.PowerShell.PowerShellGet.Cmdlets.FindPSResource
InvocationInfo        : 
    MyCommand        : Find-PSResource
    ScriptLineNumber : 1
    OffsetInLine     : 1
    HistoryId        : 3
    Line             : Find-PSResource -Name 'P*' -Repository PSStenaNew
    PositionMessage  : At line:1 char:1
                       + Find-PSResource -Name 'P*' -Repository PSStenaNew
                       + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    InvocationName   : Find-PSResource
    CommandOrigin    : Internal
ScriptStackTrace      : at <ScriptBlock>, <No file>: line 1
PipelineIterationInfo : 




   ErrorIndex: 1

Exception             : 
    Type        : System.Management.Automation.PSInvalidOperationException
    ErrorRecord : 
        Exception             : 
            Type    : System.Management.Automation.ParentContainsErrorRecordException
            Message : -Name '*' is not supported for Find-PSResource so all Name entries will be discarded.
            HResult : -2146233087
        CategoryInfo          : InvalidOperation: (:) [], ParentContainsErrorRecordException
        FullyQualifiedErrorId : InvalidOperation
    Message     : -Name '*' is not supported for Find-PSResource so all Name entries will be discarded.
    HResult     : -2146233079
TargetObject          : Microsoft.PowerShell.PowerShellGet.Cmdlets.FindPSResource
CategoryInfo          : InvalidArgument: (Microsoft.PowerShel…lets.FindPSResource:FindPSResource) [Find-PSResource], PSInvalidOperationException
FullyQualifiedErrorId : NameEqualsWildcardIsNotSupported,Microsoft.PowerShell.PowerShellGet.Cmdlets.FindPSResource
InvocationInfo        : 
    MyCommand        : Find-PSResource
    ScriptLineNumber : 1
    OffsetInLine     : 1
    HistoryId        : 2
    Line             : Find-PSResource -Name '*' -Repository PSStenaNew
    PositionMessage  : At line:1 char:1
                       + Find-PSResource -Name '*' -Repository PSStenaNew
                       + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    InvocationName   : Find-PSResource
    CommandOrigin    : Internal
ScriptStackTrace      : at <ScriptBlock>, <No file>: line 1
PipelineIterationInfo : 




   ErrorIndex: 2

Exception             : 
    Type        : System.Management.Automation.PSInvalidOperationException
    ErrorRecord : 
        Exception             : 
            Type    : System.Management.Automation.ParentContainsErrorRecordException
            Message : Name parameter must be provided.
            HResult : -2146233087
        CategoryInfo          : InvalidOperation: (:) [], ParentContainsErrorRecordException
        FullyQualifiedErrorId : InvalidOperation
    TargetSite  : 
        Name          : ThrowTerminatingError
        DeclaringType : System.Management.Automation.MshCommandRuntime, System.Management.Automation, Version=7.2.0.9, Culture=neutral, PublicKeyToken=31bf3856ad364e35
        MemberType    : Method
        Module        : System.Management.Automation.dll
    Message     : Name parameter must be provided.
    Source      : System.Management.Automation
    HResult     : -2146233079
    StackTrace  : 
   at System.Management.Automation.MshCommandRuntime.ThrowTerminatingError(ErrorRecord errorRecord) in System.Management.Automation.dll:token 0x6002d2b+0x6
TargetObject          : Microsoft.PowerShell.PowerShellGet.Cmdlets.FindPSResource
CategoryInfo          : InvalidOperation: (Microsoft.PowerShel…lets.FindPSResource:FindPSResource) [Find-PSResource], PSInvalidOperationException
FullyQualifiedErrorId : NameParameterNotProvided,Microsoft.PowerShell.PowerShellGet.Cmdlets.FindPSResource
InvocationInfo        : 
    MyCommand        : Find-PSResource
    ScriptLineNumber : 1
    OffsetInLine     : 1
    HistoryId        : 1
    Line             : Find-PSResource -Repository PSStenaNew
    PositionMessage  : At line:1 char:1
                       + Find-PSResource -Repository PSStenaNew
                       + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    InvocationName   : Find-PSResource
    CommandOrigin    : Internal
ScriptStackTrace      : at <ScriptBlock>, <No file>: line 1
Environment data
Get-Module PowerShellGet; $PSVersionTable


ModuleType Version    PreRelease Name                                ExportedCommands
---------- -------    ---------- ----                                ----------------
Binary     3.0.11     beta       PowerShellGet                       {Find-PSResource, Get-InstalledPSResource, Get-PSResourceRepository, Install-PSResource…}

Key   : PSVersion
Value : 7.2.0-preview.9
Name  : PSVersion


Key   : PSEdition
Value : Core
Name  : PSEdition


Key   : GitCommitId
Value : 7.2.0-preview.9
Name  : GitCommitId


Key   : OS
Value : Microsoft Windows 10.0.19043
Name  : OS


Key   : Platform
Value : Win32NT
Name  : Platform


Key   : PSCompatibleVersions
Value : {1.0, 2.0, 3.0, 4.0…}
Name  : PSCompatibleVersions


Key   : PSRemotingProtocolVersion
Value : 2.3
Name  : PSRemotingProtocolVersion


Key   : SerializationVersion
Value : 1.1.0.1
Name  : SerializationVersion


Key   : WSManStackVersion
Value : 3.0
Name  : WSManStackVersion
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 problème avec Find-PSResource contre un dépôt Azure Artifacts v2, en n’utilisant aucun nom et des noms avec caractères génériques comme indiqué. Suivez le traitement de Find-PSResource pour ADOFeed et ses erreurs NameParameterNotProvided, NameEqualsWildcardIsNotSupported et CannotSearchADOFeedWithWildcardName ; le travail est terminé lorsque les modules disponibles peuvent être listés ou filtrés avec des caractères génériques comme prévu, sans ces erreurs.

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é
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

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