Test-FileCatalog
Test-FileCatalog 會驗證目錄檔案 (.cat) 中包含的哈希是否符合實際檔案的哈希,以驗證其真實性。
只有 Windows 才支援此 Cmdlet。
語法
Default (預設值)
Test-FileCatalog
[-Detailed]
[-FilesToSkip <String[]>]
[-CatalogFilePath] <String>
[[-Path] <String[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
此 Cmdlet 只能在 Windows 平臺上使用。
Test-FileCatalog 藉由比較目錄檔案 (.cat) 的檔案哈希與磁碟上實際檔案的哈希,來驗證檔案的真實性。 如果偵測到任何不一致,則會回傳 ValidationFailed 的狀態。 使用者可以使用 -Detailed 參數來擷取此資訊。 它也會在 Signature 屬性中顯示目錄的簽署狀態,這相當於在類別目錄檔案上呼叫 Get-AuthenticodeSignature Cmdlet。 使用者也可以使用 -FilesToSkip 參數,在驗證期間略過任何檔案。
只有 Windows 才支援此 Cmdlet。
範例
範例 1:建立和驗證檔案目錄
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) 的路徑,其中包含要用於驗證的哈希。
參數屬性
| 類型: | String |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | 0 |
| 必要: | True |
| 來自管線的值: | True |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-Confirm
在執行 Cmdlet 之前,提示您進行確認。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | False |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | cf |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Detailed
傳回提供更多資訊的更詳細的 CatalogInformation 物件,其中包含已測試的檔案、其預期/實際哈希值,如果目錄檔案已簽署,還包括該檔案的 Authenticode 簽章。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-FilesToSkip
不應在驗證中測試的路徑陣列。
參數屬性
| 類型: | String[] |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Path
應針對目錄檔案進行驗證的資料夾或檔案陣列。
參數屬性
| 類型: | String[] |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | 1 |
| 必要: | False |
| 來自管線的值: | True |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-WhatIf
顯示 Cmdlet 執行時會發生什麼事。 指令未執行。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | False |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | 無線 |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
CommonParameters
此 Cmdlet 支援一般參數:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 如需詳細資訊,請參閱 about_CommonParameters。
輸入
DirectoryInfo
管道接受字串或物件陣列,這些字串或 DirectoryInfo 物件表示需要驗證的文件的路徑。
輸出
CatalogValidationStatus
預設傳回類型,包含 Valid 值 或 ValidationFailed。
CatalogInformation
使用 -Detailed 時返回的更詳細的物件可用於分析可能已通過或未通過驗證的特定檔、預期的哈希值與找到的哈希值以及目錄中使用的演算法。
備註
此 Cmdlet 僅適用於 Windows 平臺。