Get-AuthenticodeSignature
获取有关文件的验证码签名的信息。
语法
Get-AuthenticodeSignature
[-FilePath] <String[]>
[<CommonParameters>]
Get-AuthenticodeSignature
-LiteralPath <String[]>
[<CommonParameters>]
Get-AuthenticodeSignature
-SourcePathOrExtension <String[]>
-Content <Byte[]>
[<CommonParameters>]
说明
此 cmdlet 仅在 Windows 平台上可用。
Get-AuthenticodeSignature
cmdlet 获取有关文件或文件内容作为字节数组的 Authenticode 签名的信息。
如果文件同时已嵌入签名且 Windows 目录已签名,则使用 Windows 目录签名。
如果未对文件进行签名,则会检索信息,但字段为空。
示例
示例 1:获取文件的验证码签名
Get-AuthenticodeSignature -FilePath "C:\Test\NewScript.ps1"
此命令获取有关 NewScript.ps1 文件中的 Authenticode 签名的信息。 它使用 FilePath 参数来指定文件。
示例 2:获取多个文件的验证码签名
Get-AuthenticodeSignature test.ps1, test1.ps1, sign-file.ps1, makexml.ps1
此命令获取有关命令行中列出的四个文件的 Authenticode 签名的信息。 在此示例中,省略 FilePath 参数的名称(可选)。
示例 3:仅获取多个文件的有效验证码签名
Get-ChildItem $PSHOME\*.* | ForEach-object {Get-AuthenticodeSignature $_} | Where-Object {$_.status -eq "Valid"}
此命令列出 $PSHOME
目录中具有有效验证码签名的所有文件。
$PSHOME
自动变量包含 PowerShell 安装目录的路径。
该命令使用 Get-ChildItem
cmdlet 获取 $PSHOME
目录中的文件。 它使用 模式。 排除目录(尽管它还排除文件名中没有点的文件)。
该命令使用管道运算符(|
)将 $PSHOME
中的文件发送到 ForEach-Object
cmdlet,其中为每个文件调用 Get-AuthenticodeSignature
。
Get-AuthenticodeSignature
命令的结果将发送到仅选择状态为“有效”的签名对象的 Where-Object
命令。
示例 4:获取指定为字节数组的文件内容的验证码签名
Get-AuthenticodeSignature -Content (Get-Content foo.ps1 -AsByteStream) -SourcePathorExtension ps1
此命令获取有关文件内容的 Authenticode 签名的信息。 在此示例中,文件扩展名与文件的内容一起指定。
参数
-Content
作为检索验证码签名的字节数组的文件的内容。 此参数必须与 SourcePathOrExtension 参数一起使用。 文件的内容必须采用 Unicode(UTF-16LE)格式。
类型: | Byte[] |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-FilePath
指定要检查的文件的路径。 允许通配符,但它们必须导致单个文件。 在为此参数指定值时,无需在命令行中键入 FilePath。
类型: | String[] |
Position: | 0 |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | True |
-LiteralPath
指定要检查的文件的路径。 与 FilePath不同,LiteralPath 参数的值与键入时完全相同。 不会将任何字符解释为通配符。 如果路径包含转义字符,请将它括在单引号中。 单引号告知 PowerShell 不要将任何字符解释为转义字符。
类型: | String[] |
别名: | PSPath |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-SourcePathOrExtension
检索验证码签名的文件或文件类型的路径。 此参数用于 内容 其中文件内容作为字节数组传递。
类型: | String[] |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
输入
可以通过管道将包含文件路径的字符串传递给 Get-AuthenticodeSignature
。
输出
Get-AuthenticodeSignature
返回其获取的每个签名的签名对象。
备注
此 cmdlet 仅在 Windows 平台上可用。
有关 PowerShell 中的验证码签名的信息,请参阅 about_Signing。