Test-FileCatalog
Test-FileCatalog
проверяет, совпадают ли хэши, содержащиеся в файле каталога (.cat), с хэшами фактических файлов, чтобы проверить их подлинность.
Этот командлет поддерживается только в Windows.
Синтаксис
Test-FileCatalog
[-Detailed]
[-FilesToSkip <String[]>]
[-CatalogFilePath] <String>
[[-Path] <String[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Описание
Этот командлет доступен только на платформе Windows.
Test-FileCatalog
проверяет подлинность файлов путем сравнения хэшей файлов файла каталога (CAT) с хэшами фактических файлов на диске. Если он обнаруживает несоответствие, он возвращает состояние как ValidationFailed. Пользователи могут получить все эти сведения с помощью параметра -Detailed. Он также отображает состояние подписи каталога в свойстве Signature, что эквивалентно вызову командлета Get-AuthenticodeSignature
в файле каталога. Пользователи также могут пропускать любой файл во время проверки с помощью параметра -FilesToSkip.
Этот командлет поддерживается только в Windows.
Примеры
Пример 1. Создание и проверка каталога файлов
$NewFileCatalogParams = @{
Path = "$PSHOME\Modules\Microsoft.PowerShell.Utility"
CatalogFilePath = "\temp\Microsoft.PowerShell.Utility.cat"
CatalogVersion = 2.0
}
New-FileCatalog @NewFileCatalogParams
$TestFileCatalogParams = @{
CatalogFilePath = "\temp\Microsoft.PowerShell.Utility.cat"
Path = "$PSHome\Modules\Microsoft.PowerShell.Utility\"
}
Test-FileCatalog @TestFileCatalogParams
Valid
Пример 2. Проверка каталога файлов с подробными выходными данными
$TestFileCatalogParams = @{
Detailed = $true
CatalogFilePath = "\temp\Microsoft.PowerShell.Utility.cat"
Path = "$PSHome\Modules\Microsoft.PowerShell.Utility\"
}
Test-FileCatalog @TestFileCatalogParams
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 |
Position: | 0 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-Confirm
Запрашивает подтверждение перед запуском командлета.
Тип: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Detailed
Возвращает дополнительные сведения о более детализированном объекте CatalogInformation
, который содержит проверенные файлы, их ожидаемые и фактические хэши, а также подпись Authenticode файла каталога, если файл подписан.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-FilesToSkip
Массив путей, которые не должны быть проверены в рамках проверки.
Тип: | String[] |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Path
Папка или массив файлов, которые должны быть проверены в файле каталога.
Тип: | String[] |
Position: | 1 |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-WhatIf
Показывает, что произойдет, если командлет будет запущен. Командлет не был запущен.
Тип: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Входные данные
Можно передать объект DirectoryInfo
, представляющий путь к файлам, которые необходимо проверить.
Можно передать строку, представляющую путь к файлам, которые необходимо проверить.
Выходные данные
По умолчанию этот командлет возвращает объект CatalogValidationStatus со значением Valid
или ValidationFailed
.
При использовании параметра Detailed командлет возвращает объект CatalogInformation для каждого файла, который можно использовать для анализа определенных файлов, которые могли пройти или не пройти проверку, какие хеши ожидались и какие были найдены, а также алгоритм, используемый в каталоге.
Примечания
Этот командлет доступен только на платформах Windows.
Связанные ссылки
PowerShell