簽署指令碼
使用 Set-AuthenticodeSignature
-cmdlet 和程式碼簽名證書籤署指令碼。
#Get the first available personal code-signing certificate for the logged on user
$cert = @(Get-ChildItem -Path Cert:\CurrentUser\My -CodeSigningCert)[0]
#Sign script using certificate
Set-AuthenticodeSignature -Certificate $cert -FilePath c:\MyScript.ps1
你還可以使用以下方法從 .pfx
檔案中讀取證書:
$cert = Get-PfxCertificate -FilePath "C:\MyCodeSigningCert.pfx"
該指令碼將在有效期到期之前有效。如果在簽名期間使用時間戳伺服器,則證書過期後指令碼將繼續有效。新增證書的信任鏈(包括根許可權)以幫助大多數計算機信任用於簽署指令碼的證書也很有用。
Set-AuthenticodeSignature -Certificate $cert -FilePath c:\MyScript.ps1 -IncludeChain All -TimeStampServer "http://timestamp.verisign.com/scripts/timstamp.dll"
建議使用來自 Verisign,Comodo,Thawte 等受信任證書提供商的時間戳伺服器。