Get-AuthenticodeSignature

ファイルの Authenticode 署名に関する情報を取得します。

構文

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

説明

このコマンドレットは、Windows プラットフォームでのみ使用できます。

このコマンドレットは Get-AuthenticodeSignature 、ファイルまたはファイルコンテンツの Authenticode シグネチャに関する情報をバイト配列として取得します。 ファイルが埋め込み署名済みと Windows カタログ署名の両方である場合は、Windows カタログ署名が使用されます。 ファイルが署名されていない場合、情報は取得されますが、フィールドは空白になります。

例 1: ファイルの Authenticode 署名を取得する

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

このコマンドは、NewScript.ps1 ファイルの Authenticode 署名に関する情報を取得します。 FilePath パラメーターを使用してファイルを指定します。

例 2: 複数のファイルの Authenticode 署名を取得する

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

このコマンドは、コマンド ラインにリストされている 4 つのファイルの Authenticode 署名に関する情報を取得します。 この例では、FilePath パラメーターの名前 (省略可能) は省略されています。

例 3: 複数のファイルの有効な Authenticode 署名のみを取得する

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

このコマンドは、有効な Authenticode 署名を $PSHOME 持つディレクトリ内のすべてのファイルを一覧表示します。 $PSHOME自動変数には、PowerShell インストール ディレクトリへのパスが含まれています。

このコマンドでは、コマンドレットを Get-ChildItem 使用してディレクトリ内のファイルを $PSHOME 取得します。 ディレクトリを除外するには .パターンを使用します (ただし、ファイル名にドットのないファイルも除外されます)。

このコマンドでは、パイプライン演算子 (|) を使用してファイル $PSHOME をコマンドレットに ForEach-Object 送信します。この Get-AuthenticodeSignature コマンドレットでは、各ファイルに対して呼び出されます。

コマンドの Get-AuthenticodeSignature 結果は、状態が Valid の署名オブジェクトのみを選択するコマンドに送信されます Where-Object

例 4: バイト配列として指定されたファイル コンテンツの Authenticode シグネチャを取得する

Get-AuthenticodeSignature -Content (Get-Content foo.ps1 -AsByteStream) -SourcePathorExtension ps1

このコマンドは、ファイルのコンテンツの Authenticode 署名に関する情報を取得します。 この例では、ファイル拡張子をファイルの内容と共に指定します。

パラメーター

-Content

Authenticode シグネチャが取得されるバイト配列としてのファイルの内容。 このパラメーターは SourcePathOrExtension パラメーターと共に使用する必要があります。 PowerShell 7.4 より前のバージョンでは、ファイルの内容は Unicode (UTF-16LE) 形式である必要があります。

Type:Byte[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-FilePath

調べるファイルへのパスを指定します。 ワイルドカードを使用できますが、展開結果が単一のファイルを指す必要があります。 このパラメーターの値を指定するときに、コマンド ラインで FilePath を入力する必要はありません。

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:True

-LiteralPath

検査するファイルへのパスを指定します。 FilePath とは異なり、LiteralPath パラメーターの値は、型指定されたとおりに使用されます。 ワイルドカードとして解釈される文字はありません。 パスにエスケープ文字が含まれている場合は、単一引用符で囲みます。 単一引用符は、エスケープ文字として文字を解釈しないように PowerShell に指示します。

Type:String[]
Aliases:PSPath
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-SourcePathOrExtension

Authenticode 署名が取得されるコンテンツのファイルまたはファイルの種類へのパス。 このパラメーターは、ファイル コンテンツがバイト配列として渡される Content使用されます。

Type:String[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

入力

String

このコマンドレットへのファイル パスを含む文字列をパイプ処理できます。

出力

Signature

このコマンドレットは、取得するシグネチャごとにシグネチャ オブジェクトを返します。

メモ

このコマンドレットは、Windows プラットフォームでのみ使用できます。

PowerShell での Authenticode 署名の詳細については、「about_Signing」を参照してください