Import new certificate if param is given

This commit is contained in:
OCram85 2019-04-03 13:30:47 +02:00
parent cce898d61d
commit e547db8cf7

View File

@ -59,19 +59,6 @@ function New-CredentialStore {
[Parameter(Mandatory = $false, ParameterSetName = "Shared")] [Parameter(Mandatory = $false, ParameterSetName = "Shared")]
[ValidateNotNullOrEmpty()] [ValidateNotNullOrEmpty()]
[ValidateScript(
{
if ($_.Attributes -contains 'Directory') {
throw 'Please provide a full path containing the credential store file name with the .json extension!'
}
elseif ( ($null -eq $_.Extension) -or ($_.Extension -ne '*.json')) {
throw 'Your provided path does not conain the required file extension .json !'
}
else {
$true
}
}
)]
[System.IO.FileInfo]$Path, [System.IO.FileInfo]$Path,
[Parameter(Mandatory = $false, ParameterSetName = "Private")] [Parameter(Mandatory = $false, ParameterSetName = "Private")]
@ -97,6 +84,28 @@ function New-CredentialStore {
# Set latest Credential Store version # Set latest Credential Store version
# Set-Variable -Name "CSVersion" -Value "2.0.0" -Option Constant -Scope # Set-Variable -Name "CSVersion" -Value "2.0.0" -Option Constant -Scope
# test if the path input is a valid file path
if ($PSCmdlet.MyInvocation.BoundParameters.ContainsKey('Path')) {
if ($Path.Attributes -contains 'Directory') {
$ErrorParams = @{
ErrorAction = 'Stop'
Exception = [System.IO.InvalidDataException]::new(
'Please provide a full path containing the credential store file name with the .json extension!'
)
}
Write-Error @ErrorParams
}
elseif ( ($null -eq $Path.Extension) -or ($Path.Extension -ne '*.json')) {
$ErrorParams = @{
ErrorAction = 'Stop'
Exception = [System.IO.InvalidDataException]::new(
'Your provided path does not conain the required file extension .json !'
)
}
Write-Error @ErrorParams
}
}
} }
process { process {
@ -199,7 +208,8 @@ function New-CredentialStore {
$ObjProperties.PfxCertificate = $PfxParams.CertName $ObjProperties.PfxCertificate = $PfxParams.CertName
} }
else { else {
Write-Warning -Message ("New certificate {0} created. Please import it into your certificate store manually!" -f $PfxParams.CertName) Write-Verbose 'Importing new PFX certifiate file'
Import-CSCertificate -Path $PfxParams.CertName
} }
} }