PowerShell / PowerShell/PSResourceGet

(dsc): Export ignores `--input` filter for `Repository` and `PSResourceList` on DSC 3.3.* or above

Aperta
#2,053 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Needs-Triage
Lingua principale
C#
Stelle
576
Fork
114
Merge medio
1g 2h
PR unite (30g)
7

Descrizione

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

As a user, I want dsc resource export --input to honour the filter I pass, so that I can export the resources of one repository or a single repository by name instead of everything on the machine.

Since DSC 3.3.0, export receives the filter instance on stdin when --input (or properties in a configuration) is given. Both manifests declare "input": "stdin" for export, but the manifest command does not pipe $Input to the script and ExportOperation never reads $stdinput, so the filter is silently discarded and the full list is returned.

dsc resource export -r Microsoft.PowerShell.PSResourceGet/PSResourceList --input '{"repositoryName":"PSGallery"}'
dsc resource export -r Microsoft.PowerShell.PSResourceGet/Repository --input '{"name":"PSGallery"}'
Expected behavior
The first command returns one PSResourceList instance for PSGallery, whereas the second command returns one Repository instance for PSGallery.
Actual behavior
Both commands return every repository / every resource list on the machine, identical to running export without --input. No warning is emitted.
Error details

Environment data
Directory: C:\Program Files\PowerShell\Modules

ModuleType Version    PreRelease Name                                PSEdition ExportedCommands
---------- -------    ---------- ----                                --------- ----------------
Binary     1.3.0      preview1   Microsoft.PowerShell.PSResourceGet  Core,Desk {Compress-PSResource, Find-PSResource, …
Binary     1.2.0      preview5   Microsoft.PowerShell.PSResourceGet  Core,Desk {Compress-PSResource, Find-PSResource, …

    Directory: C:\program files\powershell\7\Modules

ModuleType Version    PreRelease Name                                PSEdition ExportedCommands
---------- -------    ---------- ----                                --------- ----------------
Binary     1.2.0                 Microsoft.PowerShell.PSResourceGet  Core,Desk {Compress-PSResource, Find-PSResource, …

Key   : PSVersion
Value : 7.6.6
Name  : PSVersion


Key   : PSEdition
Value : Core
Name  : PSEdition


Key   : GitCommitId
Value : 7.6.6
Name  : GitCommitId


Key   : OS
Value : Microsoft Windows 10.0.26200
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.4
Name  : PSRemotingProtocolVersion


Key   : SerializationVersion
Value : 1.1.0.1
Name  : SerializationVersion


Key   : WSManStackVersion
Value : 3.0
Name  : WSManStackVersion
Visuals

No response

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Start by inspecting the manifest command and ExportOperation, focusing on how the export input is passed from stdin. Reproduce the issue with the two commands shown for Repository and PSResourceList, then verify that each returns only the PSGallery instance rather than every item.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
csharp, powershell
Ambito
cli
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Attiva
Chiarezza
Specificata chiaramente
Idoneità per principianti
72/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.