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


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

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

String

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

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

CatalogValidationStatus

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

CatalogInformation

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

Примечания

Этот командлет доступен только на платформах Windows.