34 lines
983 B
PowerShell
34 lines
983 B
PowerShell
|
<#
|
||
|
.Synopsis
|
||
|
Recursively signs the contents of a directory.
|
||
|
.Description
|
||
|
Given the file patterns, code signs the contents.
|
||
|
.Parameter root
|
||
|
The root directory to sign.
|
||
|
.Parameter patterns
|
||
|
The file patterns to sign
|
||
|
.Parameter description
|
||
|
The description to add to the signature (optional).
|
||
|
.Parameter certname
|
||
|
The name of the certificate to sign with (optional).
|
||
|
.Parameter certsha1
|
||
|
The SHA1 hash of the certificate to sign with (optional).
|
||
|
#>
|
||
|
param(
|
||
|
[Parameter(Mandatory=$true)][string]$root,
|
||
|
[string[]]$patterns=@("*.exe", "*.dll", "*.pyd"),
|
||
|
[string]$description,
|
||
|
[string]$certname,
|
||
|
[string]$certsha1,
|
||
|
[string]$certfile
|
||
|
)
|
||
|
|
||
|
$tools = $script:MyInvocation.MyCommand.Path | Split-Path -parent;
|
||
|
Import-Module $tools\sdktools.psm1 -WarningAction SilentlyContinue -Force
|
||
|
|
||
|
pushd $root
|
||
|
try {
|
||
|
Sign-File -certname $certname -certsha1 $certsha1 -certfile $certfile -description $description -files (gci -r $patterns)
|
||
|
} finally {
|
||
|
popd
|
||
|
}
|