Freigeben über


Get-AuthenticodeSignature

Ruft Informationen zur Authenticode-Signatur für eine Datei ab.

Syntax

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

Beschreibung

Dieses Cmdlet ist nur auf der Windows-Plattform verfügbar.

Das Get-AuthenticodeSignature Cmdlet ruft Informationen zur Authenticode-Signatur für einen Datei- oder Dateiinhalt als Bytearray ab. Wenn die Datei sowohl signiert als auch Windows-Katalog signiert ist, wird die Windows-Katalogsignatur verwendet. Wenn die Datei nicht signiert ist, werden die Informationen abgerufen, aber die Felder sind leer.

Beispiele

Beispiel 1: Abrufen der Authenticode-Signatur für eine Datei

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

Dieser Befehl ruft Informationen über die Authenticode-Signatur in der Datei NewScript.ps1 ab. Er verwendet den FilePath-Parameter , um die Datei anzugeben.

Beispiel 2: Abrufen der Authenticode-Signatur für mehrere Dateien

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

Dieser Befehl ruft Informationen zur Authenticode-Signatur für die vier Dateien ab, die in der Befehlszeile aufgeführt sind. In diesem Beispiel wird der Name des FilePath-Parameters , der optional ist, weggelassen.

Beispiel 3: Abrufen gültiger Authenticode-Signaturen für mehrere Dateien

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

Dieser Befehl listet alle Dateien im Verzeichnis auf, die $PSHOME über eine gültige Authenticode-Signatur verfügen. Die $PSHOME automatische Variable enthält den Pfad zum PowerShell-Installationsverzeichnis.

Der Befehl verwendet das Get-ChildItem Cmdlet, um die Dateien im $PSHOME Verzeichnis abzurufen. Es verwendet ein Muster von . zum Ausschließen von Verzeichnissen (obwohl es auch Dateien ohne Punkt im Dateinamen ausschließt).

Der Befehl verwendet einen Pipelineoperator (|), um die Dateien an $PSHOME das ForEach-Object Cmdlet zu senden, wobei Get-AuthenticodeSignature für jede Datei aufgerufen wird.

Die Ergebnisse des Get-AuthenticodeSignature Befehls werden an einen Where-Object Befehl gesendet, der nur die Signaturobjekte mit dem Status "Gültig" auswählt.

Beispiel 4: Abrufen der Authenticode-Signatur für einen als Bytearray angegebenen Dateiinhalt

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

Dieser Befehl ruft Informationen zur Authenticode-Signatur für den Inhalt einer Datei ab. In diesem Beispiel wird die Dateierweiterung zusammen mit dem Inhalt der Datei angegeben.

Parameter

-Content

Inhalt einer Datei als Bytearray, für das die Authenticode-Signatur abgerufen wird. Dieser Parameter muss mit sourcePathOrExtension-Parameter verwendet werden. Vor PowerShell 7.4 muss der Inhalt der Datei im Unicode-Format (UTF-16LE) vorliegen.

Typ:Byte[]
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-FilePath

Gibt den Pfad zu der zu untersuchenden Datei an. Platzhalter sind zulässig, aber sie müssen auf eine einzige Datei verweisen. Es ist nicht erforderlich, FilePath an der Befehlszeile einzugeben, wenn Sie einen Wert für diesen Parameter angeben.

Typ:String[]
Position:0
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:True

-LiteralPath

Gibt den Pfad zur Datei an, die überprüft wird. Im Gegensatz zu FilePath wird der Wert des LiteralPath-Parameters genau so verwendet, wie er eingegeben wird. Es werden keine Zeichen als Platzhalter interpretiert. Wenn der Pfad ein Escapezeichen enthält, schließen Sie es in einfache Anführungszeichen ein. Einfache Anführungszeichen weisen PowerShell an, keine Zeichen als Escapezeichen zu interpretieren.

Typ:String[]
Aliase:PSPath
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-SourcePathOrExtension

Pfad zur Datei oder dem Dateityp des Inhalts, für den die Authenticode-Signatur abgerufen wird. Dieser Parameter wird mit Inhalt verwendet, bei dem Dateiinhalte als Bytearray übergeben werden.

Typ:String[]
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

Eingaben

String

Sie können eine Zeichenfolge weiterleiten, die einen Dateipfad zu diesem Cmdlet enthält.

Ausgaben

Signature

Dieses Cmdlet gibt ein Signaturobjekt für jede Signatur zurück, die sie abruft.

Hinweise

Dieses Cmdlet ist nur auf Windows-Plattformen verfügbar.

Informationen zu Authenticode-Signaturen in PowerShell finden Sie unter about_Signing.