PowerShell / PowerShell/PSResourceGet

AllUsers scope doesn't work if umask is set.

Open
#1,695 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Area-Install Issue-Bug Needs-Attention :wave:
Dominant language
C#
Stars
576
Forks
114
Avg merge
1d 2h
Merged PRs (30d)
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

Running on a linux machine

  1. running from a root bash shell
  2. umask 0027
  3. pwsh
  4. Install-PSResource Az -Scope AllUsers
  5. Get-InstalledPSResource Az -Scope AllUsers
  6. Notice that module is found
  7. In non-root pwsh: Get-InstalledPSResource Az -Scope AllUsers
  8. Notice that the module is not found
  9. In root bash shell: chmod -R a+rX /usr/local/share/powershell/
  10. In non-root pwsh: Get-InstalledPSResource Az -Scope AllUsers
  11. Notice that the module is now found
Expected behavior
Module is available in root and non-root pwsh
Actual behavior
Module only available in root pwsh
Error details
PS /home/nfaulkne> Get-InstalledPSResource Az -Scope AllUsers
Get-InstalledPSResource: No match was found for package 'Az'.
PS /home/nfaulkne> Get-Error

Exception             :
    Type    : Microsoft.PowerShell.PSResourceGet.UtilClasses.ResourceNotFoundException
    Message : No match was found for package 'Az'.
    HResult : -2146233088
TargetObject          : Microsoft.PowerShell.PSResourceGet.Cmdlets.GetInstalledPSResourceCommand
CategoryInfo          : ObjectNotFound: (Microsoft.PowerShel…edPSResourceCommand:GetInstalledPSResourceCommand) [Get-In
stalledPSResource], ResourceNotFoundException
FullyQualifiedErrorId : InstalledPackageNotFound,Microsoft.PowerShell.PSResourceGet.Cmdlets.GetInstalledPSResourceComma
nd
InvocationInfo        :
    MyCommand        : Get-InstalledPSResource
    ScriptLineNumber : 1
    OffsetInLine     : 1
    HistoryId        : 1
    Line             : Get-InstalledPSResource Az -Scope AllUsers
    Statement        : Get-InstalledPSResource Az -Scope AllUsers
    PositionMessage  : At line:1 char:1
                       + Get-InstalledPSResource Az -Scope AllUsers
                       + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    InvocationName   : Get-InstalledPSResource
    CommandOrigin    : Internal
ScriptStackTrace      : at <ScriptBlock>, <No file>: line 1
PipelineIterationInfo :
      0
      1
Environment data
PS /root> Get-Module Microsoft.PowerShell.PSResourceGet; $PSVersionTable

ModuleType Version    PreRelease Name                                ExportedCommands
---------- -------    ---------- ----                                ----------------
Binary     1.0.4.1               Microsoft.PowerShell.PSResourceGet  {Find-PSResource, Get-InstalledPSResource, Get-PS…

Key   : PSVersion
Value : 7.4.5
Name  : PSVersion


Key   : PSEdition
Value : Core
Name  : PSEdition


Key   : GitCommitId
Value : 7.4.5
Name  : GitCommitId


Key   : OS
Value : Ubuntu 22.04.3 LTS
Name  : OS


Key   : Platform
Value : Unix
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

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the listed Install-PSResource and Get-InstalledPSResource commands on Linux with umask 0027, comparing root and non-root sessions. Trace the AllUsers installation and discovery paths; done means the Az module is available to both sessions without manually running chmod on /usr/local/share/powershell/.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, linux, powershell
Domain
cli, operating-systems, tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.