Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrading PowerShell Core version affected secrets store #61

Open
vfuyong opened this issue Apr 28, 2021 · 6 comments
Open

Upgrading PowerShell Core version affected secrets store #61

vfuyong opened this issue Apr 28, 2021 · 6 comments

Comments

@vfuyong
Copy link

vfuyong commented Apr 28, 2021

I have upgraded PowerShell from 7.1.2 to 7.1.3 and noticed local secrets stored might have disappeared.

Is it the expected behavior? What is the right procedure to upgrade PowerShell with local secret store in use?

Thanks.

@PaulHigin
Copy link
Contributor

No, upgrading PowerShell version should have no effect on the SecretStore. I have upgraded multiple times without any effect. But make sure your SecretStore extension vault is still registered.

Get-SecretVault

Name           ModuleName                               IsDefaultVault
----           ----------                               --------------
SecretStore    Microsoft.PowerShell.SecretStore         True

SecretManagement and SecretStore configurations are based on the current logged in user, so make sure you are logging in with the same account.

Also, be sure to uninstall any previous versions of SecretManagement or SecretStore module you may have, as the 1.0.0 release is not compatible with previous preview versions. You should have only one version installed.

Get-Module Microsoft.PowerShell.SecretStore -list

    Directory: 

ModuleType Version    PreRelease Name                                PSEdition ExportedCommands
---------- -------    ---------- ----                                --------- ----------------
Binary     1.0.0                 Microsoft.PowerShell.SecretStore    Core      {Unlock-SecretStore, Set-SecretStorePas

@mi-hol
Copy link

mi-hol commented Jul 7, 2021

I've encountered a weird situation.

  1. Uninstalling the outdated version 0.9 is not possible with pwsh "run as administrator" (locked down corporate W10 1909 Enterprise environment).
  2. SecretStore extension vault is not registered
    Any suggestions?
PS C:\Windows\System32> Uninstall-Module Microsoft.PowerShell.SecretStore -Force
Uninstall-Package: C:\program files\powershell\7\Modules\PowerShellGet\PSModule.psm1:12733
 Line |
12733 |  …        $null = PackageManagement\Uninstall-Package @PSBoundParameters
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      | No match was found for the specified search criteria and module names
      | 'Microsoft.PowerShell.SecretStore'.

PS C:\Windows\System32> Get-Module Microsoft.PowerShell.SecretStore -list

    Directory: C:\Program Files\WindowsPowerShell\Modules

ModuleType Version    PreRelease Name                                PSEdition ExportedCommands
---------- -------    ---------- ----                                --------- ----------------
Binary     0.9.0                 Microsoft.PowerShell.SecretStore    Core      {Unlock-SecretStore, Set-SecretStorePas…


PS C:\Windows\System32> Install-Module -Name Microsoft.PowerShell.SecretStore -Repository PSGallery -Force
PS C:\Windows\System32> Get-Module Microsoft.PowerShell.SecretStore -list

    Directory: C:\Users\Engineer\Documents\PowerShell\Modules

ModuleType Version    PreRelease Name                                PSEdition ExportedCommands
---------- -------    ---------- ----                                --------- ----------------
Binary     1.0.2                 Microsoft.PowerShell.SecretStore    Core      {Unlock-SecretStore, Set-SecretStorePas…

    Directory: C:\Program Files\WindowsPowerShell\Modules

ModuleType Version    PreRelease Name                                PSEdition ExportedCommands
---------- -------    ---------- ----                                --------- ----------------
Binary     0.9.0                 Microsoft.PowerShell.SecretStore    Core      {Unlock-SecretStore, Set-SecretStorePas…

PS C:\Windows\System32> Get-SecretVault
PS C:\Windows\System32>

PS C:\Windows\System32>  $PSVersionTable

Name                           Value
----                           -----
PSVersion                      7.1.3
PSEdition                      Core
GitCommitId                    7.1.3
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

@PaulHigin
Copy link
Contributor

Installing the latest version (1.0.2) of SecretStore over version 0.9.0 should not affect current secrets, as the two versions are compatible. But both SecretManagement and SecretStore stores data in the current user account scope. UserA will not see registered vaults or stored secrets created by UserB. So I am wondering if you are running SecretManagement/SecretStore in a different user account, and that is why 'Get-SecretVault' is returning nothing.

We are looking at adding a 'machine wide' Scope option to SecretManagement/SecretStore in a future release, so that secrets can be shared among different user accounts.

@mi-hol
Copy link

mi-hol commented Jul 8, 2021

I am wondering if you are running SecretManagement/SecretStore in a different user account,

yes, these are 2 different users, required due to locked down corporate W10 1909 Enterprise environment (a standard user and different user with admin rights)

@davesbrown
Copy link

I have a similar issue, but maybe not, perhaps a different issue?

I can use the modules in pwsh 7.2 but when using update-module or Get-InstalledModule it does not show up (says was not installed using Install-Module)

The module does show up in powershell 5.1 with Get-InstalledModule

I want to update the module, and I'm fairly certain I didn't do any other type of installation for pwsh. What is best course of action to update in pwsh 7.2 (desiring to using the Install-Module method)

@PaulHigin
Copy link
Contributor

@davesbrown WindowsPowerShell (5.1) modules are usually installed in a different location than for PowerShell 7.x, because they may not be compatible. There are many older WindowsPowerShell modules that do not run correctly in PowerShell 7.x because of the difference in the dotNet runtimes between them. You will need to run 'Install-Module' again under PowerShell 7.x.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants