Skip to content

Commit

Permalink
Get-AuthenticodeSignature not on PS Core
Browse files Browse the repository at this point in the history
Check if command available before trying to execute it.
  • Loading branch information
rkeithhill committed Sep 28, 2017
1 parent 0cddf55 commit 783b292
Showing 1 changed file with 13 additions and 6 deletions.
19 changes: 13 additions & 6 deletions src/Utils.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -160,11 +160,17 @@ function Add-PoshGitToProfile {

# If the profile script exists and is signed, then we should not modify it
if (Test-Path -LiteralPath $profilePath) {
$sig = Get-AuthenticodeSignature $profilePath
if ($null -ne $sig.SignerCertificate) {
Write-Warning "Skipping add of posh-git import to profile; '$profilePath' appears to be signed."
Write-Warning "Add the command 'Import-Module posh-git' to your profile and resign it."
return
if (!(Get-Command Get-AuthenticodeSignature -ErrorAction SilentlyContinue))
{
Write-Verbose "Platform doesn't support script signing, skipping test for signed profile."
}
else {
$sig = Get-AuthenticodeSignature $profilePath
if ($null -ne $sig.SignerCertificate) {
Write-Warning "Skipping add of posh-git import to profile; '$profilePath' appears to be signed."
Write-Warning "Add the command 'Import-Module posh-git' to your profile and resign it."
return
}
}
}

Expand All @@ -173,7 +179,8 @@ function Add-PoshGitToProfile {
$profileContent = "`nImport-Module posh-git"
}
else {
$profileContent = "`nImport-Module '$ModuleBasePath\posh-git.psd1'"
$modulePath = Join-Path $ModuleBasePath posh-git.psd1
$profileContent = "`nImport-Module '$modulePath'"
}

# Make sure the PowerShell profile directory exists
Expand Down

0 comments on commit 783b292

Please sign in to comment.