Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

`PSResourceList` Get returns `_exist: true` when resource is installed in `AllUsers` but default is `CurrentUser`

未关闭
#2,005 2 条评论 0 个 reaction 已指派 1 人 在 GitHub 查看

@adityapatwardhan 已经在做这个了。

开始于 2026年6月16日。

评估

这个 Issue 还没有评估数据。

描述

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

主要语言
C#
星标
576
派生
114
平均合并
23 小时 17 分钟
30 天内合并 PR
8

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

PowerShell/PSResourceGet 的其他 Issue

查看 PowerShell/PSResourceGet 的全部 Issue

相似的 Issue

更多 C# Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。