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
表示路径的 对象传递给需要验证的文件。
可以通过管道将表示路径的字符串传递给需要验证的文件。
输出
默认情况下,此 cmdlet 返回值为 或 ValidationFailed
的 Valid
CatalogValidationStatus 对象。
使用 Detailed 参数时,cmdlet 将为每个文件返回一个 CatalogInformation 对象,该对象可用于分析可能已通过验证或未通过验证的特定文件、预期哈希和找到的哈希,以及目录中使用的算法。
备注
此 cmdlet 仅在 Windows 平台上可用。