SecretStore
SecretStore copied to clipboard
Upgrading PowerShell Core version affected secrets store
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.
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…
I've encountered a weird situation.
- Uninstalling the outdated version 0.9 is not possible with pwsh "run as administrator" (locked down corporate W10 1909 Enterprise environment).
- 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
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.
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)
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)
@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.