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
Sie können eine Zeichenfolge weiterleiten, die einen Dateipfad zu diesem Cmdlet enthält.
Ausgaben
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.