Build-Sign-Scripts.ps1

Param(
    $Path=$null
)

Write-Host "Starting Script ""Build-Sign-Scripts.ps1""" -ForegroundColor Gray -BackgroundColor White

Write-Host "Try to set SourceDir from Build-variable"
$SourceDir=$Path
 
if([String]::IsNullOrEmpty($SourceDir)) {
    $SourceDir=$($PSScriptRoot)
    Write-Host "Build-variable was not given. Using PSScriptRoot"
}
Write-Host "SourceDir is ""$SourceDir"""

function Sign-Files
{
    foreach($File in $FileList)
    {
        Write-Host "Sign File $File"
        $result = Set-AuthenticodeSignature -Certificate $cert -FilePath "$SourceDir\$File"
    }
}

$FileList = @()
$FileList += ,"Kabompo.psd1"
$FileList += ,"Kabompo.psm1"
$FileList += ,"Kabompo.Variables.ps1"
$FileList += ,"Kabompo.Logging.ps1"
$FileList += ,"SomethingToTest.ps1"

Write-Host "Get certificate from file"
$certifile = "$SourceDir\Kabompo.Certificate.pfx"
$pass = "Emp1rum"
$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2($certifile,$pass)

Sign-Files

Write-Host "Finished Script ""Build-Sign-Scripts.ps1""" -ForegroundColor Gray -BackgroundColor White