Skip to content

Importing Az Module after Integrated Console has loaded any of the Az* modules will results in no exported commands for said module #2545

Closed
PowerShell/PowerShellEditorServices
#1227
@APStrickland

Description

@APStrickland

System Details

System Details Output

### VSCode version: 1.42.1 c47d83b293181d9be64f27ff093689e8e7aed054 x64

### VSCode extensions:
bewhite.dokd-vscode-preview@0.2.1
bibhasdn.git-easy@1.11.0
blackmist.LinkCheckMD@0.3.1
ChakrounAnas.turbo-console-log@1.4.0
CoenraadS.bracket-pair-colorizer@1.0.61
DavidAnson.vscode-markdownlint@0.34.0
DavidWang.ini-for-vscode@0.0.4
docsmsft.docs-article-templates@0.2.7
docsmsft.docs-authoring-pack@0.1.7
docsmsft.docs-images@0.0.5
docsmsft.docs-linting@0.0.1
docsmsft.docs-markdown@0.2.58
docsmsft.docs-metadata@1.0.4
docsmsft.docs-preview@0.3.40
docsmsft.docs-yaml@0.2.4
DotJoshJohnson.xml@2.5.0
eamodio.gitlens@10.2.1
gicentre.markdown-preview-enhanced-with-litvis@0.20.0
ionutvmi.reg@1.0.1
ms-dotnettools.csharp@1.21.13
ms-mssql.mssql@1.9.0
ms-vscode.azurecli@0.5.0
ms-vscode.powershell@2020.3.0
ms-vsts.team@1.161.0
msazurermtools.azurerm-vscode-tools@0.8.4
oderwat.indent-rainbow@7.4.0
PKief.material-icon-theme@4.0.1
redhat.vscode-yaml@0.7.2
streetsidesoftware.code-spell-checker@1.8.0
tomoki1207.pdf@0.5.1
vscode-icons-team.vscode-icons@10.0.0


### PSES version: 2.0.0.0

### PowerShell version:

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

Issue Description

If a PS1 file is opened that contains an Az module reference and then Import-Module Az is called, the Az cmdlets in the PS1 file will no longer work.

Expected Behaviour

When importing the Az Module, all Az cmdlets should work

PS C:\temp\Bug> Import-Module -Name Az
PS C:\temp\Bug> Get-Command -Module Az.Storage

CommandType     Name                                               Version    Source    
-----------     ----                                               -------    ------    
Alias           Disable-AzStorageSoftDelete                        1.9.0      Az.Storage
Alias           Enable-AzStorageSoftDelete                         1.9.0      Az.Storage
Alias           Get-AzStorageContainerAcl                          1.9.0      Az.Storage
Alias           Start-CopyAzureStorageBlob                         1.9.0      Az.Storage
Alias           Stop-CopyAzureStorageBlob                          1.9.0      Az.Storage
Cmdlet          Add-AzRmStorageContainerLegalHold                  1.9.0      Az.Storage
Cmdlet          Add-AzStorageAccountManagementPolicyAction         1.9.0      Az.Storage
Cmdlet          Add-AzStorageAccountNetworkRule                    1.9.0      Az.Storage
Cmdlet          Close-AzStorageFileHandle                          1.9.0      Az.Storage
Cmdlet          Disable-AzStorageBlobDeleteRetentionPolicy         1.9.0      Az.Storage
Cmdlet          Disable-AzStorageDeleteRetentionPolicy             1.9.0      Az.Storage
Cmdlet          Disable-AzStorageStaticWebsite                     1.9.0      Az.Storage
Cmdlet          Enable-AzStorageBlobDeleteRetentionPolicy          1.9.0      Az.Storage
Cmdlet          Enable-AzStorageDeleteRetentionPolicy              1.9.0      Az.Storage
Cmdlet          Enable-AzStorageStaticWebsite                      1.9.0      Az.Storage
Cmdlet          Get-AzRmStorageContainer                           1.9.0      Az.Storage
Cmdlet          Get-AzRmStorageContainerImmutabilityPolicy         1.9.0      Az.Storage
Cmdlet          Get-AzRmStorageShare                               1.9.0      Az.Storage
Cmdlet          Get-AzStorageAccount                               1.9.0      Az.Storage
Cmdlet          Get-AzStorageAccountKey                            1.9.0      Az.Storage
Cmdlet          Get-AzStorageAccountManagementPolicy               1.9.0      Az.Storage
Cmdlet          Get-AzStorageAccountNameAvailability               1.9.0      Az.Storage
Cmdlet          Get-AzStorageAccountNetworkRuleSet                 1.9.0      Az.Storage
Cmdlet          Get-AzStorageBlob                                  1.9.0      Az.Storage
Cmdlet          Get-AzStorageBlobContent                           1.9.0      Az.Storage
Cmdlet          Get-AzStorageBlobCopyState                         1.9.0      Az.Storage
Cmdlet          Get-AzStorageBlobServiceProperty                   1.9.0      Az.Storage
Cmdlet          Get-AzStorageContainer                             1.9.0      Az.Storage
Cmdlet          Get-AzStorageContainerStoredAccessPolicy           1.9.0      Az.Storage
Cmdlet          Get-AzStorageCORSRule                              1.9.0      Az.Storage
Cmdlet          Get-AzStorageFile                                  1.9.0      Az.Storage
Cmdlet          Get-AzStorageFileContent                           1.9.0      Az.Storage
Cmdlet          Get-AzStorageFileCopyState                         1.9.0      Az.Storage
Cmdlet          Get-AzStorageFileHandle                            1.9.0      Az.Storage
Cmdlet          Get-AzStorageQueue                                 1.9.0      Az.Storage
Cmdlet          Get-AzStorageQueueStoredAccessPolicy               1.9.0      Az.Storage
Cmdlet          Get-AzStorageServiceLoggingProperty                1.9.0      Az.Storage
Cmdlet          Get-AzStorageServiceMetricsProperty                1.9.0      Az.Storage
Cmdlet          Get-AzStorageServiceProperty                       1.9.0      Az.Storage
Cmdlet          Get-AzStorageShare                                 1.9.0      Az.Storage
Cmdlet          Get-AzStorageShareStoredAccessPolicy               1.9.0      Az.Storage
Cmdlet          Get-AzStorageTable                                 1.9.0      Az.Storage
Cmdlet          Get-AzStorageTableStoredAccessPolicy               1.9.0      Az.Storage
Cmdlet          Get-AzStorageUsage                                 1.9.0      Az.Storage
Cmdlet          Lock-AzRmStorageContainerImmutabilityPolicy        1.9.0      Az.Storage
Cmdlet          New-AzRmStorageContainer                           1.9.0      Az.Storage
Cmdlet          New-AzRmStorageShare                               1.9.0      Az.Storage
Cmdlet          New-AzStorageAccount                               1.9.0      Az.Storage
Cmdlet          New-AzStorageAccountKey                            1.9.0      Az.Storage
Cmdlet          New-AzStorageAccountManagementPolicyFilter         1.9.0      Az.Storage
Cmdlet          New-AzStorageAccountManagementPolicyRule           1.9.0      Az.Storage
Cmdlet          New-AzStorageAccountSASToken                       1.9.0      Az.Storage
Cmdlet          New-AzStorageBlobSASToken                          1.9.0      Az.Storage
Cmdlet          New-AzStorageContainer                             1.9.0      Az.Storage
Cmdlet          New-AzStorageContainerSASToken                     1.9.0      Az.Storage
Cmdlet          New-AzStorageContainerStoredAccessPolicy           1.9.0      Az.Storage
Cmdlet          New-AzStorageContext                               1.9.0      Az.Storage
Cmdlet          New-AzStorageDirectory                             1.9.0      Az.Storage
Cmdlet          New-AzStorageFileSASToken                          1.9.0      Az.Storage
Cmdlet          New-AzStorageQueue                                 1.9.0      Az.Storage
Cmdlet          New-AzStorageQueueSASToken                         1.9.0      Az.Storage
Cmdlet          New-AzStorageQueueStoredAccessPolicy               1.9.0      Az.Storage
Cmdlet          New-AzStorageShare                                 1.9.0      Az.Storage
Cmdlet          New-AzStorageShareSASToken                         1.9.0      Az.Storage
Cmdlet          New-AzStorageShareStoredAccessPolicy               1.9.0      Az.Storage
Cmdlet          New-AzStorageTable                                 1.9.0      Az.Storage
Cmdlet          New-AzStorageTableSASToken                         1.9.0      Az.Storage
Cmdlet          New-AzStorageTableStoredAccessPolicy               1.9.0      Az.Storage
Cmdlet          Remove-AzRmStorageContainer                        1.9.0      Az.Storage
Cmdlet          Remove-AzRmStorageContainerImmutabilityPolicy      1.9.0      Az.Storage
Cmdlet          Remove-AzRmStorageContainerLegalHold               1.9.0      Az.Storage
Cmdlet          Remove-AzRmStorageShare                            1.9.0      Az.Storage
Cmdlet          Remove-AzStorageAccount                            1.9.0      Az.Storage
Cmdlet          Remove-AzStorageAccountManagementPolicy            1.9.0      Az.Storage
Cmdlet          Remove-AzStorageAccountNetworkRule                 1.9.0      Az.Storage
Cmdlet          Remove-AzStorageBlob                               1.9.0      Az.Storage
Cmdlet          Remove-AzStorageContainer                          1.9.0      Az.Storage
Cmdlet          Remove-AzStorageContainerStoredAccessPolicy        1.9.0      Az.Storage
Cmdlet          Remove-AzStorageCORSRule                           1.9.0      Az.Storage
Cmdlet          Remove-AzStorageDirectory                          1.9.0      Az.Storage
Cmdlet          Remove-AzStorageFile                               1.9.0      Az.Storage
Cmdlet          Remove-AzStorageQueue                              1.9.0      Az.Storage
Cmdlet          Remove-AzStorageQueueStoredAccessPolicy            1.9.0      Az.Storage
Cmdlet          Remove-AzStorageShare                              1.9.0      Az.Storage
Cmdlet          Remove-AzStorageShareStoredAccessPolicy            1.9.0      Az.Storage
Cmdlet          Remove-AzStorageTable                              1.9.0      Az.Storage
Cmdlet          Remove-AzStorageTableStoredAccessPolicy            1.9.0      Az.Storage
Cmdlet          Set-AzCurrentStorageAccount                        1.9.0      Az.Storage
Cmdlet          Set-AzRmStorageContainerImmutabilityPolicy         1.9.0      Az.Storage
Cmdlet          Set-AzStorageAccount                               1.9.0      Az.Storage
Cmdlet          Set-AzStorageAccountManagementPolicy               1.9.0      Az.Storage
Cmdlet          Set-AzStorageBlobContent                           1.9.0      Az.Storage
Cmdlet          Set-AzStorageContainerAcl                          1.9.0      Az.Storage
Cmdlet          Set-AzStorageContainerStoredAccessPolicy           1.9.0      Az.Storage
Cmdlet          Set-AzStorageCORSRule                              1.9.0      Az.Storage
Cmdlet          Set-AzStorageFileContent                           1.9.0      Az.Storage
Cmdlet          Set-AzStorageQueueStoredAccessPolicy               1.9.0      Az.Storage
Cmdlet          Set-AzStorageServiceLoggingProperty                1.9.0      Az.Storage
Cmdlet          Set-AzStorageServiceMetricsProperty                1.9.0      Az.Storage
Cmdlet          Set-AzStorageShareQuota                            1.9.0      Az.Storage
Cmdlet          Set-AzStorageShareStoredAccessPolicy               1.9.0      Az.Storage
Cmdlet          Set-AzStorageTableStoredAccessPolicy               1.9.0      Az.Storage
Cmdlet          Start-AzStorageBlobCopy                            1.9.0      Az.Storage
Cmdlet          Start-AzStorageBlobIncrementalCopy                 1.9.0      Az.Storage
Cmdlet          Start-AzStorageFileCopy                            1.9.0      Az.Storage
Cmdlet          Stop-AzStorageBlobCopy                             1.9.0      Az.Storage
Cmdlet          Stop-AzStorageFileCopy                             1.9.0      Az.Storage
Cmdlet          Update-AzRmStorageContainer                        1.9.0      Az.Storage
Cmdlet          Update-AzRmStorageShare                            1.9.0      Az.Storage
Cmdlet          Update-AzStorageAccountNetworkRuleSet              1.9.0      Az.Storage
Cmdlet          Update-AzStorageBlobServiceProperty                1.9.0      Az.Storage
Cmdlet          Update-AzStorageServiceProperty                    1.9.0      Az.Storage

Actual Behaviour

If the module is pre-loaded by the Console, the module will not have any exported commands

PS C:\temp\Bug> Import-Module -Name Az
Import-Module: C:\Program Files\WindowsPowerShell\Modules\Az.Storage\1.8.0\Az.Storage.psm1:92:1
Line |
  92 |  Import-Module (Join-Path -Path $PSScriptRoot -ChildPath Microsoft.Azu …
     |  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | Assembly with same name is already loaded

Import-Module: C:\Program Files\WindowsPowerShell\Modules\Az.Storage\1.8.0\Az.Storage.psm1:93:1
Line |
  93 |  Import-Module (Join-Path -Path $PSScriptRoot -ChildPath Microsoft.Azu …
     |  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | Assembly with same name is already loaded

PS C:\temp\Bug> Get-Command -Module Az.Storage
PS C:\temp\Bug> 

Attached Logs

Bug.zip contains a PS1 file to use as a way to replicate the behavior.
fail.zip
workaround.zip
Bug.zip

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions