Skip to content

Import-Module with -UseWindowsPowerShell and PSModuleAutoLoadingPreference=None silently fails to create proxies #12043

Closed

Description

@alx9r

I've been trying to find some kind of practical workaround for the name collisions described in #12036 and #12014. One avenue that seemed worth exploring is setting $PSModuleAutoLoadingPreference to None and explicitly importing required modules into each module. Turning off module auto-loading, however, seems to result in the silent failure of Import-Module -UseWindowsPowerShell. Proxy commands in that condition don't seems to be created despite that Import-Module -UseWinidowsPowerShell produces no error.

Steps to reproduce

$PSModuleAutoLoadingPreference = [System.Management.Automation.PSModuleAutoLoadingPreference]::None
Import-Module Microsoft.PowerShell.Utility,Microsoft.PowerShell.Management
Import-Module Microsoft.PowerShell.Management -UseWindowsPowerShell -wa si
Get-Command Get-WmiObject

Expected behavior

Function

Actual behavior

Get-Command: C:\test.ps1:4
Line |
   4 |  Get-Command Get-WmiObject | % CommandType
     |  ~~~~~~~~~~~~~~~~~~~~~~~~~
     | The term 'Get-WmiObject' is not recognized as the name of a cmdlet, function, script file, or operable program.
     | Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

Environment data


Name                           Value
----                           -----
PSVersion                      7.0.0
PSEdition                      Core
GitCommitId                    7.0.0
OS                             Microsoft Windows 6.3.9600
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

Activity

  1. added
    Issue-Questionideally support can be provided via other mechanisms, but sometimes folks do open an issue to get a
    on Mar 5, 2020
  2. anmenaga commented on Mar 6, 2020

    @anmenaga

    This is fixed by #11980

    In short: depending on the value of PSModulePath - in the default case - this line Import-Module Microsoft.PowerShell.Management -UseWindowsPowerShell -wa si will import version 7.0.0.0 of the module in Windows PowerShell, so there is no surprise that Get-WmiObject is not found.
    This can be checked by running following in the end of repro steps:

    PS C:\> $s = Get-PSSession -Name WinPSCompatSession
    PS C:\> Icm $s {Get-Module -Name Microsoft.PowerShell.Management}
    
    ModuleType Version    PreRelease Name                                ExportedCommands                           PSComputerName
    ---------- -------    ---------- ----                                ----------------                           --------------
    Manifest   7.0.0.0               Microsoft.PowerShell.Management     {New-ItemProperty, Set-Item, Push-Locatio… localhost
    

    A workaround can be loading module by path:
    Import-Module "$env:windir\System32\WindowsPowerShell\v1.0\Modules\Microsoft.PowerShell.Management\Microsoft.PowerShell.Management.psd1" -UseWindowsPowerShell -wa si

  3. mklement0 commented on Mar 21, 2020

    @mklement0
    Contributor

    Andrew (@anmenaga):

    Without having looked at #11980:

  4. microsoft-github-policy-service commented on Nov 16, 2023

    @microsoft-github-policy-service
    Contributor

    This issue has not had any activity in 6 months, if this is a bug please try to reproduce on the latest version of PowerShell and reopen a new issue and reference this issue if this is still a blocker for you.

  5. microsoft-github-policy-service commented on Nov 16, 2023

    @microsoft-github-policy-service
    Contributor

    This issue has not had any activity in 6 months, if this is a bug please try to reproduce on the latest version of PowerShell and reopen a new issue and reference this issue if this is still a blocker for you.

  6. microsoft-github-policy-service commented on Nov 16, 2023

    @microsoft-github-policy-service
    Contributor

    This issue has not had any activity in 6 months, if this is a bug please try to reproduce on the latest version of PowerShell and reopen a new issue and reference this issue if this is still a blocker for you.

  7. microsoft-github-policy-service commented on Nov 23, 2023

    @microsoft-github-policy-service
    Contributor

    This issue has been marked as "No Activity" as there has been no activity for 6 months. It has been closed for housekeeping purposes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Issue-Questionideally support can be provided via other mechanisms, but sometimes folks do open an issue to get aResolution-No ActivityIssue has had no activity for 6 months or more

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions