`PSResourceList` Get returns `_exist: true` when resource is installed in `AllUsers` but default is `CurrentUser`
@adityapatwardhan já está trabalhando nisso.
Desde 16/6/2026.
Avaliação
Esta issue ainda não foi avaliada.
Descrição
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 _exist to accurately reflect whether a PSResource exists in the requested scope, so that DSC correctly reports and enforces the desired state when scope matters.
The current behavior looks like when a resource entry specifies no scope, ConvertInputToPSResource silently defaults it to CurrentUser. However, GetPSResourceList fetches resources from both scopes and matches on name + version only, totally ignoring the scope. This means when we run, for example, the following document:
resources:
- name: PSResourceList scope test
type: Microsoft.PowerShell.PSResourceGet/PSResourceList
properties:
repositoryName: PSGallery
resources:
- name: Pester
version: '5.7.1'
And Pester is installed in AllUsers scope, it returns:
{ "name": "Pester", "version": "5.7.1", "scope": "AllUsers", "_exist": true }
But the effective desired state has scope: CurrentUser. The resource reports _exist: true with the wrong scope, and a subsequent set will correctly detect a mismatch and reinstall — but the get output is misleading, and _inDesiredState disagreement is confusing.
Expected behavior
`_exist` should reflect whether an instance matching the effective desired scope exists.
Actual behavior
See above JSON snippet
Error details
Environment data
ModuleType Version PreRelease Name PSEdition ExportedCommands
---------- ------- ---------- ---- --------- ----------------
Binary 1.3.0 preview1 Microsoft.PowerShell.PSResourceGet Core,Desk {Compress-PSResource, Find-PSResource, …
Key : PSVersion
Value : 7.6.2
Name : PSVersion
Key : PSEdition
Value : Core
Name : PSEdition
Key : GitCommitId
Value : 7.6.2
Name : GitCommitId
Key : OS
Value : Microsoft Windows 10.0.26100
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
- Linguagem predominante
- C#
- Estrelas
- 576
- Forks
- 114
- Merge médio
- 23h 17min
- PRs com merge (30d)
- 8
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de PowerShell/PSResourceGet
-
Create parent directories only after the containment check in InstallHelper.TryExtractToDirectory Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
PowerShell/PSResourceGet#2056 ·
-
feature_request
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
PowerShell/PSResourceGet#2013 · 3 comentários ·
-
feature_request Needs-Triage
PowerShell/PSResourceGet#2057 · 1 responsável ·
-
Needs-Triage
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 68/100
PowerShell/PSResourceGet#2055 ·
-
Needs-Triage
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 72/100
PowerShell/PSResourceGet#2054 ·
Todas as issues de PowerShell/PSResourceGet
Issues semelhantes
-
core dependencies
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 80/100
-
bug frontend good first issue
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
-
NavigationViewItemAutomationPeer implements IInvokeProvider but never advertises the Invoke pattern Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
unoplatform/uno#24629 ·
-
agentic-workflows Needs: Triage :mag: State: In-PR
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
-
Down / Waiting for removal
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100