获取文件中有关 Authenticode 签名的信息。

语法

Get-AuthenticodeSignature [-FilePath] <string[]> [<CommonParameters>]

说明

Get-AuthenticodeSignature cmdlet 获取文件中有关 Authenticode 签名的信息。如果文件未签名,也将检索该信息,只不过相应字段为空。

参数

-FilePath <string[]>

指定要检查的文件的路径。允许使用通配符,但它们必须指向单个文件。参数名(“FilePath”)为可选项。

是否为必需?

true

位置?

1

默认值

是否接受管道输入?

true (ByValue, ByPropertyName)

是否接受通配符?

false

<CommonParameters>

此 cmdlet 支持通用参数:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。有关详细信息,请参阅 about_Commonparameters.

输入和输出

输入类型是指可通过管道传递给 cmdlet 的对象的类型。返回类型是指 Cmdlet 所返回对象的类型。

输入

System.String

可以通过管道将包含文件路径的字符串传递给 Get-AuthenticodeSignature。

输出

System.Management.Automation.Signature

Get-AuthenticodeSignature 针对每个所获取的签名返回一个签名对象。

说明

有关 Windows PowerShell 中 Authenticode 签名的信息,请参阅 about_Signing。

示例 1

C:\PS>get-AuthenticodeSignature -filepath C:\Test\NewScript.ps1

说明
-----------
此命令获取有关 NewScript.ps1 文件中 Authenticode 签名的信息。它使用 FilePath 参数来指定文件。






示例 2

C:\PS>get-authenticodesignature test.ps1, test1.ps1, sign-file.ps1, makexml.ps1

说明
-----------
此命令获取有关命令行中列出的四个文件中 Authenticode 签名的信息。在此命令中,省略了 FilePath 参数(该参数为可选项)的名称。






示例 3

C:\PS>get-childitem $pshome\*.* | foreach-object {Get-AuthenticodeSignature $_} | where {$_.status -eq "Valid"}

说明
-----------
此命令会列出 $pshome 目录中具有有效 Authenticode 签名的所有文件。$pshome 自动变量包含 Windows PowerShell 安装目录的路径。

此命令使用 Get-ChildItem cmdlet 获取 $pshome 目录中的文件。它采用 *.* 模式排除目录(尽管它也会排除文件名中不含点的文件)。

此命令使用管道运算符 (|) 将 $pshome 中的文件发送到 Foreach-Object cmdlet,其中将针对每个文件调用 Get-AuthenticodeSignature。

Get-AuthenticodeSignature 命令的结果将发送到 Where-Object 命令,该命令仅选择状态为“Valid”的签名对象。






另请参阅




目录