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.
Esse cmdlet só tem suporte 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 em disco. Se detectar incompatibilidades, retornará o status como ValidationFailed. Os usuários podem recuperar todas essas informações usando o parâmetro -Detailed. Ele também exibe o status de assinatura do catálogo na propriedade Signature, que é equivalente a chamar Get-AuthenticodeSignature
cmdlet no arquivo de catálogo. Os usuários também podem ignorar qualquer arquivo durante a validação usando o parâmetro -FilesToSkip.
Esse cmdlet só tem suporte 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 |
Cargo: | 0 |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-Confirm
Solicita a confirmação antes de executar o cmdlet.
Tipo: | SwitchParameter |
Aliases: | cf |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Detailed
Retorna mais informações de um objeto de 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 |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-FilesToSkip
Uma matriz de caminhos que não devem ser testados como parte da validação.
Tipo: | String[] |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Path
Uma pasta ou matriz de arquivos que deve ser validada no arquivo de catálogo.
Tipo: | String[] |
Cargo: | 1 |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-WhatIf
Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.
Tipo: | SwitchParameter |
Aliases: | wi |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
Entradas
Você pode canalizar um objeto DirectoryInfo
que representa o caminho para os arquivos que precisam ser validados.
Você pode canalizar uma cadeia de caracteres que representa o caminho para os arquivos que precisam ser validados.
Saídas
Por padrão, esse cmdlet retorna um objeto CatalogValidationStatus com um valor de Valid
ou ValidationFailed
.
Quando você usa o parâmetro Detalhado, 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, que os hashes eram esperados versus encontrados e o algoritmo usado no catálogo.
Observações
Este cmdlet está disponível apenas em plataformas Windows.