Compartilhar via


Get-AuthenticodeSignature

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

Sintaxe

ByPath (Padrão)

Get-AuthenticodeSignature
    [-FilePath] <String[]>
    [<CommonParameters>]

ByLiteralPath

Get-AuthenticodeSignature
    -LiteralPath <String[]>
    [<CommonParameters>]

ByContent

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 tanto com assinatura embutida quanto assinado pelo catálogo do Windows, 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 se recupera a assinatura Authenticode. Esse parâmetro deve ser usado junto com o parâmetro SourcePathOrExtension. Antes do PowerShell 7.4, o conteúdo do arquivo deve estar no formato Unicode (UTF-16LE).

Propriedades do parâmetro

Tipo:

Byte[]

Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

ByContent
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False

-FilePath

Especifica o caminho para o arquivo a ser examinado. Caracteres curinga são permitidos, mas eles 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.

Propriedades do parâmetro

Tipo:

String[]

Valor padrão:None
Dá suporte a curingas:True
DontShow:False

Conjuntos de parâmetros

ByPath
Cargo:0
Obrigatório:True
Valor do pipeline:True
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False

-LiteralPath

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

Propriedades do parâmetro

Tipo:

String[]

Valor padrão:None
Dá suporte a curingas:False
DontShow:False
Aliases:PSPath, LP

Conjuntos de parâmetros

ByLiteralPath
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False

-SourcePathOrExtension

Caminho para o arquivo ou tipo de 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.

Propriedades do parâmetro

Tipo:

String[]

Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

ByContent
Cargo:Named
Obrigatório:True
Valor do pipeline:True
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False

CommonParameters

Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.

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

Este cmdlet está disponível apenas em plataformas Windows.

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