Compartilhar via


Get-AuthenticodeSignature

Obtém informações sobre a assinatura authenticode para um arquivo.

Sintaxe

Get-AuthenticodeSignature
   [-FilePath] <String[]>
   [<CommonParameters>]
Get-AuthenticodeSignature
   -LiteralPath <String[]>
   [<CommonParameters>]
Get-AuthenticodeSignature
   -SourcePathOrExtension <String[]>
   -Content <Byte[]>
   [<CommonParameters>]

Description

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

O cmdlet Get-AuthenticodeSignature obtém informações sobre a assinatura Authenticode para um arquivo ou conteúdo de arquivo como uma matriz de bytes. Se o arquivo estiver conectado e o catálogo do Windows assinado, a assinatura do catálogo do Windows será usada. Se o arquivo não estiver assinado, as informações serão recuperadas, mas os campos ficarão em branco.

Exemplos

Exemplo 1: Obter a assinatura authenticode para um arquivo

Get-AuthenticodeSignature -FilePath "C:\Test\NewScript.ps1"

Esse comando obtém informações sobre a assinatura Authenticode no arquivo NewScript.ps1. Ele usa o parâmetro FilePath para especificar o arquivo.

Exemplo 2: Obter a assinatura authenticode para vários arquivos

Get-AuthenticodeSignature test.ps1, test1.ps1, sign-file.ps1, makexml.ps1

Esse comando obtém informações sobre a assinatura Authenticode para os quatro arquivos listados na linha de comando. Neste exemplo, o nome do parâmetro FilePath, que é opcional, é omitido.

Exemplo 3: obter somente assinaturas válidas do Authenticode para vários arquivos

Get-ChildItem $PSHOME\*.* | ForEach-Object {Get-AuthenticodeSignature $_} |
    Where-Object {$_.Status -eq "Valid"}

Esse comando lista todos os arquivos no diretório $PSHOME que têm uma assinatura válida do Authenticode. A variável $PSHOME automática contém o caminho para o diretório de instalação do PowerShell.

O comando usa o cmdlet Get-ChildItem para obter os arquivos no diretório $PSHOME. Ele usa um padrão de . excluir diretórios (embora também exclua arquivos sem um ponto no nome do arquivo).

O comando usa um operador de pipeline (|) para enviar os arquivos em $PSHOME para o cmdlet ForEach-Object, em que Get-AuthenticodeSignature é chamado para cada arquivo.

Os resultados do comando Get-AuthenticodeSignature são enviados para um comando Where-Object que seleciona apenas os objetos de assinatura com um status válido.

Exemplo 4: obter a assinatura Authenticode para um conteúdo de arquivo especificado como matriz de bytes

$authenticodeSignatureParams = @{
    Content = (Get-Content foo.ps1 -AsByteStream)
    SourcePathorExtension = "ps1"
}
Get-AuthenticodeSignature @authenticodeSignatureParams

Esse comando obtém informações sobre a assinatura Authenticode para o conteúdo de um arquivo. Neste exemplo, a extensão de arquivo é especificada junto com o conteúdo do arquivo.

Parâmetros

-Content

Conteúdo de um arquivo como uma matriz de bytes para a qual a assinatura Authenticode é recuperada. Esse parâmetro deve ser usado com parâmetro SourcePathOrExtension. Antes do PowerShell 7.4, o conteúdo do arquivo deve estar no formato Unicode (UTF-16LE).

Tipo:Byte[]
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-FilePath

Especifica o caminho para o arquivo a ser examinado. Curingas são permitidos, mas devem levar a um único arquivo. Não é necessário digitar filepath na linha de comando quando você especifica um valor para esse parâmetro.

Tipo:String[]
Cargo:0
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:True

-LiteralPath

Especifica o caminho para o arquivo que está sendo examinado. Ao contrário de FilePath, o valor do parâmetro LiteralPath é usado exatamente como ele é digitado. Nenhum caractere é interpretado como curinga. Se o caminho incluir um caractere de escape, coloque-o entre aspas simples. Aspas simples dizem ao PowerShell para não interpretar nenhum caractere como caracteres de escape.

Tipo:String[]
Aliases:PSPath, LP
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-SourcePathOrExtension

Caminho para o tipo de arquivo ou arquivo do conteúdo para o qual a assinatura Authenticode é recuperada. Esse parâmetro é usado com Content em que o conteúdo do arquivo é passado como uma matriz de bytes.

Tipo:String[]
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

Entradas

String

Você pode canalizar uma cadeia de caracteres que contém um caminho de arquivo para este cmdlet.

Saídas

Signature

Esse cmdlet retorna um objeto de assinatura para cada assinatura que ele obtém.

Observações

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

Para obter informações sobre assinaturas do Authenticode no PowerShell, consulte about_Signing.