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 パラメーターと共に使用する必要があります。 ファイルの内容は 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 |
入力
このコマンドレットへのファイル パスを含む文字列をパイプ処理できます。
出力
このコマンドレットは、取得するシグネチャごとにシグネチャ オブジェクトを返します。
メモ
このコマンドレットは、Windows プラットフォームでのみ使用できます。
PowerShell での Authenticode 署名の詳細については、「 about_Signing」を参照してください。