2019-01-16 12:55:29 +01:00
|
|
|
function Get-DefaultCredentialStorePath {
|
|
|
|
<#
|
|
|
|
.SYNOPSIS
|
|
|
|
Returns the default CredentialStore path based on the current OS.
|
|
|
|
|
|
|
|
.DESCRIPTION
|
|
|
|
This is a low level helper function.
|
|
|
|
|
|
|
|
.INPUTS
|
|
|
|
[None]
|
|
|
|
|
|
|
|
.OUTPUTS
|
|
|
|
[string]
|
|
|
|
|
|
|
|
.EXAMPLE
|
|
|
|
$Path = Get-DefaultCredentialStorePath
|
|
|
|
|
|
|
|
.NOTES
|
2019-04-29 16:05:43 +02:00
|
|
|
- File Name : Get-DefaultCredentialStorePath.ps1
|
|
|
|
- Author : Marco Blessing - marco.blessing@googlemail.com
|
|
|
|
- Requires :
|
2019-01-16 12:55:29 +01:00
|
|
|
|
|
|
|
.LINK
|
|
|
|
https://github.com/OCram85/PSCredentialStore
|
|
|
|
#>
|
|
|
|
[CmdletBinding()]
|
|
|
|
[OutputType([string])]
|
|
|
|
param(
|
|
|
|
[Parameter(Mandatory = $false)]
|
|
|
|
[switch]$Shared
|
|
|
|
)
|
|
|
|
|
2019-04-29 16:05:43 +02:00
|
|
|
begin { }
|
2019-01-16 12:55:29 +01:00
|
|
|
|
|
|
|
process {
|
|
|
|
if ($Shared.IsPresent) {
|
|
|
|
if ($IsLinux) {
|
|
|
|
return Join-Path -Path '/var/opt' -ChildPath 'PSCredentialStore/CredentialStore.json'
|
|
|
|
}
|
|
|
|
if ($IsMacOS) {
|
|
|
|
return Join-Path -Path '/var/opt' -ChildPath 'PSCredentialStore/CredentialStore.json'
|
|
|
|
}
|
|
|
|
elseif (($isWindows) -or ($PSVersionTable.PSVersion.Major -lt 6) -or ($PSVersionTable.PSEdition -eq 'Desktop')) {
|
|
|
|
return Join-Path -Path $env:ProgramData -ChildPath 'PSCredentialStore/CredentialStore.json'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
if ($IsLinux) {
|
|
|
|
return Join-Path -Path $Env:HOME -ChildPath 'CredentialStore.json'
|
|
|
|
}
|
|
|
|
if ($IsMacOS) {
|
|
|
|
return Join-Path -Path $Env:HOME -ChildPath 'CredentialStore.json'
|
|
|
|
}
|
|
|
|
elseif (($isWindows) -or ($PSVersionTable.PSVersion.Major -lt 6) -or ($PSVersionTable.PSEdition -eq 'Desktop')) {
|
|
|
|
return Join-Path -Path $env:AppData -ChildPath 'CredentialStore.json'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-04-29 16:05:43 +02:00
|
|
|
end { }
|
2019-01-16 12:55:29 +01:00
|
|
|
}
|