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


Test-FileCatalog

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

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

Синтаксис

Default (по умолчанию)

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
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:0
Обязательно:True
Значение из конвейера:True
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-Confirm

Запрашивает подтверждение перед запуском cmdlet.

Свойства параметра

Тип:SwitchParameter
Default value:False
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:cf

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Detailed

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

Свойства параметра

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-FilesToSkip

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

Свойства параметра

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Path

Папка или массив файлов, которые должны быть проверены в файле каталога.

Свойства параметра

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:1
Обязательно:False
Значение из конвейера:True
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-WhatIf

Показывает, что произойдет, если командлет будет запущен. Командлет не запускается.

Свойства параметра

Тип:SwitchParameter
Default value:False
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:wi

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

CommonParameters

Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.

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

DirectoryInfo

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

String

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

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

CatalogValidationStatus

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

CatalogInformation

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

Примечания

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