Test-FileCatalog

Test-FileCatalog 验证目录文件 (.cat) 中包含的哈希是否与实际文件的哈希匹配,以验证其真实性。

此 cmdlet 仅在 Windows 上受支持。

语法

Test-FileCatalog
    [-Detailed]
    [-FilesToSkip <String[]>]
    [-CatalogFilePath] <String>
    [[-Path] <String[]>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

说明

此 cmdlet 仅在 Windows 平台上可用。

Test-FileCatalog 通过将目录文件 (.cat) 的文件哈希与磁盘上实际文件的哈希进行比较来验证文件的真实性。 如果检测到任何不匹配,则返回状态为 ValidationFailed。 用户可通过使用 -Detailed 参数检索所有这些信息。 它还在 Signature 属性中显示目录的签名状态,这等效于对目录文件调用 Get-AuthenticodeSignature cmdlet。 用户也可以使用 -FilesToSkip 参数在验证过程中跳过任何文件。

此 cmdlet 仅在 Windows 上受支持。

示例

示例 1:Create并验证文件目录

New-FileCatalog -Path $PSHOME\Modules\Microsoft.PowerShell.Utility -CatalogFilePath \temp\Microsoft.PowerShell.Utility.cat -CatalogVersion 2.0

Test-FileCatalog -CatalogFilePath \temp\Microsoft.PowerShell.Utility.cat -Path "$PSHome\Modules\Microsoft.PowerShell.Utility\"

Valid

示例 2:使用详细输出验证文件目录

Test-FileCatalog -Detailed -CatalogFilePath \temp\Microsoft.PowerShell.Utility.cat -Path "$PSHome\Modules\Microsoft.PowerShell.Utility\"

Status        : Valid
HashAlgorithm : SHA256
CatalogItems  : {[Microsoft.PowerShell.Utility.psd1,
                A7028BD54018AE519381CDF5BF91F3B0417BD9345478086089ACBFAD05C899FC], [Microsoft.PowerShell.Utility.psm1,
                1127E8151FB86BCB683F932E8F6538552F7195816ED351A28AE07A753B8F20DE]}
PathItems     : {[Microsoft.PowerShell.Utility.psd1,
                A7028BD54018AE519381CDF5BF91F3B0417BD9345478086089ACBFAD05C899FC], [Microsoft.PowerShell.Utility.psm1,
                1127E8151FB86BCB683F932E8F6538552F7195816ED351A28AE07A753B8F20DE]}
Signature     : System.Management.Automation.Signature

参数

-CatalogFilePath

包含要用于验证的哈希的目录文件 (.cat) 的路径。

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Confirm

提示你在运行 cmdlet 之前进行确认。

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Detailed

返回详细信息:一个更详细的 CatalogInformation 对象,该对象包含测试的文件、其预期/实际哈希,以及目录文件的 Authenticode 签名(如果已签名)。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FilesToSkip

不应在验证过程中测试的路径数组。

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

应针对目录文件进行验证的文件夹或文件数组。

Type:String[]
Position:1
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

显示运行该 cmdlet 时会发生什么情况。 此 cmdlet 未运行。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

输入

DirectoryInfo[], System.String[]

管道接受字符串或对象的数组,这些字符串或 DirectoryInfo 对象表示需要验证的文件的路径。

输出

CatalogValidationStatus

包含 或 ValidationFailedValid的默认返回类型。

CatalogInformation

使用 -Detailed 时返回的更详细对象,可用于分析可能已通过验证或未通过验证的特定文件、预期与找到的哈希,以及目录中使用的算法。

备注

此 cmdlet 仅在 Windows 平台上可用。