Home > Software engineering >  Digitally signing all identified powershell scripts in TFS Azure Devops
Digitally signing all identified powershell scripts in TFS Azure Devops

Time:09-08

I am working on digitally signing of all powershell scripts in a folder from a repo in the TFS azure devops.

Using below command I can sign all the scripts under a specific folder:

signtool.exe sign /f MyCertificate.pfx /p Mypassword "C:\folder\repo\powershellscripts\*.ps1

So here I need to implement a logic in powershell script like if the MyCertificate.pfx is not found in the specified path the signing process should fail saying required certificate not found to sign.

I know the below code to check above executed code returns 0 success, 1 fail. But to check whether the certificate is present is the specified path or not I need help.

 if (! $?) {
       Write-Host "required certificate not found to sign" -ForegroundColor Red
       exit
   }

CodePudding user response:

you do not specify a path for MyCertificate.pfx, so it must be present in the current workdirectory and so you can do

If (Test-Path .\MyCertificate.pfx){
signtool.exe sign /f MyCertificate.pfx /p Mypassword "C:\folder\repo\powershellscripts\*.ps1
}
Else {
write-error "required certificate not found to sign"
return #exit would cause to exit the process, what you probably not want to do
}
  • Related