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
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, este cmdlet retorna um objeto CatalogValidationStatus com um valor de Valid
ou ValidationFailed
.
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.