Поделиться через


Test-FileCatalog

Test-FileCatalog проверяет, совпадают ли хэши, содержащиеся в файле каталога (CAT), совпадают ли хэши фактических файлов, чтобы проверить их подлинность.

Этот командлет поддерживается только в Windows.

Синтаксис

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

Описание

Test-FileCatalog проверяет подлинность файлов путем сравнения хэшей файлов файла каталога (CAT) с хэшами фактических файлов на диске. Если он обнаруживает несоответствие, он возвращает состояние как ValidationFailed. Все эти данные можно получить с помощью параметра -Detailed. Он также отображает состояние подписи каталога в свойстве Signature, которое эквивалентно вызову Get-AuthenticodeSignature командлета в файле каталога. Также можно исключить любые файлы из проверки, указав их в параметре -FilesToSkip.

Этот командлет поддерживается только в Windows.

Примеры

Пример 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
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

Можно передать DirectoryInfo объект, представляющий путь к файлам, которые необходимо проверить.

String

Можно передать строку, представляющую путь к файлам, которые необходимо проверить.

Выходные данные

CatalogValidationStatus

По умолчанию этот командлет возвращает объект CatalogValidationStatus со значением либо Valid ValidationFailed.

CatalogInformation

При использовании подробного параметра командлет возвращает объект CatalogInformation для каждого файла, который можно использовать для анализа определенных файлов, которые могут или не прошли проверку, что хэши были ожидаемыми и найденными, и алгоритм, используемый в каталоге.