Partilhar via


Test-FileCatalog

Test-FileCatalog valida se os hashes contidos em um arquivo de catálogo (.cat) correspondem aos hashes dos arquivos reais para validar sua autenticidade.

Este cmdlet só é suportado no Windows.

Sintaxe

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

Description

Este cmdlet só está disponível na plataforma Windows.

Test-FileCatalog valida a autenticidade dos arquivos comparando os hashes de arquivo de um arquivo de catálogo (.cat) com os hashes de arquivos reais no disco. Se detetar qualquer incompatibilidade, retornará o estado como "ValidationFailed". Os usuários podem recuperar todas essas informações usando o parâmetro -Detailed. Ele também exibe o estado da assinatura do catálogo na propriedade Assinatura, que é equivalente a executar o cmdlet Get-AuthenticodeSignature no arquivo de catálogo. Os usuários também podem ignorar qualquer arquivo durante a validação usando o parâmetro -FilesToSkip.

Este cmdlet só é suportado no Windows.

Exemplos

Exemplo 1: Criar e validar um catálogo de arquivos

$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

Exemplo 2: Validar um catálogo de arquivos com saída detalhada

$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

Parâmetros

-CatalogFilePath

Um caminho para um arquivo de catálogo (.cat) que contém os hashes a serem usados para validação.

Tipo:String
Position:0
Default value:None
Necessário:True
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

-Confirm

Solicita confirmação antes de executar o cmdlet.

Tipo:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-Detailed

Retorna mais informações um objeto CatalogInformation mais detalhado que contém os arquivos testados, seus hashes esperados/reais e uma assinatura Authenticode do arquivo de catálogo, se ele estiver assinado.

Tipo:SwitchParameter
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-FilesToSkip

Uma matriz de caminhos que não deve ser testada como parte da validação.

Tipo:String[]
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-Path

Uma pasta ou matriz de arquivos que deve ser validada em relação ao arquivo de catálogo.

Tipo:String[]
Position:1
Default value:None
Necessário:False
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

-WhatIf

Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.

Tipo:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

Entradas

DirectoryInfo

Você pode canalizar um objeto DirectoryInfo que representa o caminho para os arquivos que precisam ser validados.

String

Você pode canalizar uma cadeia de caracteres que representa o caminho para os arquivos que precisam ser validados.

Saídas

CatalogValidationStatus

Por padrão, este cmdlet retorna um objeto CatalogValidationStatus com um valor de Valid ou ValidationFailed.

CatalogInformation

Quando você usa o parâmetro Detailed, o cmdlet retorna um objeto CatalogInformation para cada arquivo, que pode ser usado para analisar arquivos específicos que podem ou não ter passado pela validação, quais hashes eram esperados vs. encontrados e o algoritmo usado no catálogo.

Notas

Este cmdlet só está disponível em plataformas Windows.