PowerShell / PowerShell/DSC

Custom `psmodulepath` not supported in `Microsoft.Adapter/PowerShell`

Open
#1,373 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Issue-Enhancement WG-Reviewed
Dominant language
Rust
Stars
523
Forks
75
Avg merge
3d 16h
Merged PRs (30d)
24

Description

Prerequisites
  • Write a descriptive title.
  • Make sure you are able to repro it on the latest version
  • Search the existing issues.
Summary

I was trying out the new Microsoft.Adapter/PowerShell and use the psmodulepath to add custom modules, but it doesn't seem to work. In the old way, it's possible to do something like:

$schema: https://aka.ms/dsc/schemas/v3/bundled/config/document.json
resources:
  - name: Custom module 
    type: Microsoft.DSC/PowerShell
    properties:
      psmodulepath: C:\CustomModules;<existingModulePaths>
      resources:
        - name: PowerShell 7 Preview
          type: Microsoft.WinGet.DSC/WinGetPackage    # Direct resource type
          properties:
            Id: Microsoft.PowerShell.Preview
            Ensure: Present

Then, in the new way, I would expect something like:

$schema: https://aka.ms/dsc/schemas/v3/bundled/config/document.json
resources:
  - name: PowerShell 7 Preview
    type: Microsoft.WinGet.DSC/WinGetPackage    
    metadata:
      Microsoft.DSC:
        requireAdapter: Microsoft.Adapter/PowerShell 
    # psmodulepath: C:\CustomModules
    properties:
      Id: Microsoft.PowerShell.Preview
      Ensure: Present
      psmodulepath: C:\CustomModules;<existingModulePaths>

But that's going to fail with: Exception: The property 'psmodulepath' cannot be found on this object. Verify that the property exists and can be set.

Steps to reproduce

Run above examples with dsc config get

Expected behavior
Expect to be able to use custom module paths.
Actual behavior
Not able to use custom module path
Error details

Environment data
Name                           Value
----                           -----
PSVersion                      7.5.4
PSEdition                      Core
GitCommitId                    7.5.4
OS                             Microsoft Windows 10.0.26200
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0
Version

dsc 3.2.0-preview.11

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

Reproduce both YAML examples with dsc config get using dsc 3.2.0-preview.11, then trace how Microsoft.Adapter/PowerShell handles the psmodulepath property. Done means a custom module path is accepted in the new adapter-based configuration and the command completes without the missing-property exception.

Written by the indexing model from the issue text.

Assessment

Tech stack
powershell
Domain
cli, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.