Test-FileCatalog 始终返回“无法打开目录文件”

Test-FileCatalog 始终返回“无法打开目录文件”

我们提供了数百个驱动程序文件作为驱动程序包的一部分。

它们看起来像这样(这是一个 nvidia 驱动程序)

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        14.12.2023     10:16          26790 nvhda.cat
-a----        14.12.2023     10:16          80431 nvhda.inf
-a----        14.12.2023     10:16         129000 nvhda64v.sys
-a----        14.12.2023     10:16          41984 nvhdap64.dll

对于每个单我一直在呼唤

Test-FileCatalog nvhda.cat

对于每一个我都得到了

Unable to open catalog file <fullpath>\nvhda.cat

所有文件的文件权限和所有者均正确。我已检查文件是否cat已通过 Sysinternals procmon 加载,没有问题。

我使用的是 Windows 10,但 Windows 11 也没有任何结果。也在 Windows Server 2012 上进行了测试。

当我创建一个空的目录文件时,New-CatalogFile它可以工作,但外部文件却不行。

我可以点击文件cat并查看哈希值

在此处输入图片描述

任何提示都将非常感激!

以下是我的执行过程:

PS D:\> Test-FileCatalog -CatalogFilePath D:\nvhda.inf_amd64_1946e5c46f80c770\nvhda.cat -Path D:\nvhda.inf_amd64_1946e5c46f80c770\
Test-FileCatalog : Die Katalogdatei "D:\nvhda.inf_amd64_1946e5c46f80c770\nvhda.cat" konnte nicht geöffnet werden.
In Zeile:1 Zeichen:1
+ Test-FileCatalog -CatalogFilePath D:\nvhda.inf_amd64_1946e5c46f80c770 ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Test-FileCatalog], InvalidOperationException
    + FullyQualifiedErrorId : UnableToOpenCatalogFile,Microsoft.PowerShell.Commands.TestFileCatalogCommand

答案1

我得到了完全相同的结果:“Test-FileCatalog:无法打开目录文件”。

测试文件目录 命令描述如下:

Test-FileCatalog 通过将目录文件 (.cat) 的文件哈希值与磁盘上实际文件的哈希值进行比较来验证文件的真实性。

看起来它需要对文件夹具有写访问权限才能计算哈希值,这意味着它首先将哈希值写入文件夹,然后才进行比较。这是一个合乎逻辑的结论,因为此命令也适用于整个文件夹,而不仅仅是单个文件。

相关内容