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


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

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