检查脚本签名状态
使用 Get-AuthenticodeSignature cmdlet 可以检查脚本的签名状态。运行以下命令并将 <script_path> 替换为实际脚本路径:
Get-AuthenticodeSignature -FilePath "C:\path\to\script.ps1"
输出结果中的 Status 属性会显示签名状态:
Valid表示签名有效NotSigned表示未签名HashMismatch表示签名与文件内容不匹配UnknownError表示验证过程中出现错误
验证签名有效性
通过管道将结果传递给 Select-Object 可以查看详细签名信息:
Get-AuthenticodeSignature "C:\script.ps1" | Select-Object *
重点关注以下字段:
SignerCertificate显示签名证书信息TimeStamperCertificate显示时间戳证书StatusMessage提供状态描述
检查执行策略设置
执行策略会影响签名验证,通过以下命令查看当前设置:
Get-ExecutionPolicy -List
签名验证通常需要执行策略设置为 AllSigned 或 RemoteSigned。
强制验证签名
使用 -Force 参数可以强制重新验证签名:
(Get-AuthenticodeSignature "C:\script.ps1" -Force).Status
批量检查多个脚本
通过管道可以批量检查目录下的所有脚本:
Get-ChildItem "C:\scripts\*.ps1" | Get-AuthenticodeSignature | Where-Object { $_.Status -ne "Valid" }

2464

被折叠的 条评论
为什么被折叠?



