Cmdlets de CatálogoCatalog Cmdlets

Adicionamos dois novos cmdlets no módulo Microsoft.Powershell.Secuity para gerar e validar os arquivos de catálogo do Windows.We have added two new cmdlets in Microsoft.Powershell.Secuity module to generate and validate windows catalog files.

New-FileCatalogNew-FileCatalog


New-FileCatalog cria um arquivo de catálogo do Windows para o conjunto de arquivos e pastas.New-FileCatalog creates a windows catalog file for set of folders and files. Um arquivo de catálogo contém hashes para todos os arquivos nos caminhos especificados.A catalog file contains hashes for all files in specified paths. Os usuários podem distribuir o conjunto de pastas juntamente com a correspondência do arquivo de catálogo que representa essas pastas.Users can distribute the set of folders along with corresponding the catalog file that represents those folders. Um arquivo de catálogo pode ser usado pelo destinatário de conteúdo para validar se foram feitas alterações nas pastas depois que o catálogo foi criado.A catalog file can be used by the recipient of content to validate whether any changes were made to the folders after the catalog was created.

New-FileCatalog [-CatalogFilePath] <string> [[-Path] <string[]>] [-CatalogVersion <int>] [-WhatIf] [-Confirm] [<CommonParameters>]

Há suporte para a criação do catálogo nas versões 1 e 2.We support creating catalog version 1 and 2. A versão 1 usa o algoritmo de hash SHA1 para criar hashes de arquivo e a versão 2 usa SHA256.Version 1 uses SHA1 hashing algorithm to create file hashes and version 2 uses SHA256. Não há suporte para a versão 2 do catálogo no Windows Server 2008 R2 e no Windows 7.Catalog version 2 is not supported on Windows Server 2008 R2 and Windows 7. É recomendável usar a versão 2 do catálogo, caso esteja usando as plataformas Windows 8, Windows Server 2012 e superiores.It is recommended to use catalog version 2 if using platforms Windows 8, Windows Server 2012 and above.

Para usar este comando em um módulo existente, especifique as variáveis CatalogFilePath e Path para corresponder ao local do manifesto do módulo.To use this command on an existing module, specify the CatalogFilePath and Path variables to match the location of the module manifest. O exemplo a seguir, o manifesto de módulo está em C:\Program Files\Windows PowerShell\Modules\Pester.In the example below, the module manifest is in C:\Program Files\Windows PowerShell\Modules\Pester.

Isso cria o arquivo de catálogo.This creates the catalog file.

Para verificar a integridade de um arquivo de catálogo (Pester.cat no exemplo acima), ele deve ser assinado usando o cmdlet Set-AuthenticodeSignature.To verify the integrity of a catalog file (Pester.cat in above exmaple) it should be signed using the Set-AuthenticodeSignature cmdlet.

Test-FileCatalogTest-FileCatalog


Test-FileCatalog valida o catálogo que representa um conjunto de pastas.Test-FileCatalog validates the catalog representing a set of folders.

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

Esse cmdlet compara os hashes de todos os arquivos e seus caminhos relativos encontrados no arquivo de catálogo, com os hashes e caminhos dos arquivos salvos em disco.This cmdlet compares the hashes of all files and their relative paths found in the catalog file with ones saved to disk. Se detectar qualquer incompatibilidade entre os hashes e caminhos de arquivo, será retornado o status de ValidationFailed.If it detects any mismatch between file hashes and paths it returns a status of ValidationFailed. Os usuários podem recuperar todas essas informações usando o comutador Detailed.Users can retrieve all this information using the Detailed switch. O status da assinatura do catálogo é exibido como o campo Signature, que é o mesmo que chamar o cmdlet Get-AuthenticodeSignature no arquivo de catálogo.The signing status of the catalog is displayed as the Signature field, which is same as calling the Get-AuthenticodeSignature cmdlet on the catalog file. Os usuários também podem ignorar qualquer arquivo durante a validação usando o parâmetro FilesToSkip.Users can also skip any file during validation by using the FilesToSkip parameter.