Get-AuthenticodeSignature

Dosyanın Authenticode imzası hakkında bilgi alır.

Syntax

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

Description

Bu cmdlet yalnızca Windows platformunda kullanılabilir.

Cmdlet, Get-AuthenticodeSignature bayt dizisi olarak bir dosya veya dosya içeriği için Authenticode imzası hakkında bilgi alır. Dosya hem eklenmiş olarak imzalı hem de Windows kataloğu imzalıysa, Windows katalog imzası kullanılır. Dosya imzalanmazsa bilgiler alınır, ancak alanlar boş olur.

Örnekler

Örnek 1: Dosyanın Authenticode imzasını alma

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

Bu komut, NewScript.ps1 dosyasındaki Authenticode imzası hakkında bilgi alır. Dosyayı belirtmek için FilePath parametresini kullanır.

Örnek 2: Birden çok dosya için Authenticode imzasını alma

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

Bu komut, komut satırında listelenen dört dosyanın Authenticode imzası hakkında bilgi alır. Bu örnekte, isteğe bağlı olan FilePath parametresinin adı atlanmıştır.

Örnek 3: Birden çok dosya için yalnızca geçerli Authenticode imzaları alma

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

Bu komut, dizinde $PSHOME geçerli bir Authenticode imzası olan tüm dosyaları listeler. Otomatik $PSHOME değişken, PowerShell yükleme dizininin yolunu içerir.

komutu, dizindeki Get-ChildItem dosyaları almak için cmdlet'ini $PSHOME kullanır. Dizinleri dışlamak için bir deseni kullanır (ancak dosya adında nokta olmayan dosyaları da dışlar).

komutu, cmdlet'indeki ForEach-Object$PSHOME dosyaları göndermek için bir işlem hattı işleci (|) kullanır ve burada Get-AuthenticodeSignature her dosya için çağrılır.

Komutun Get-AuthenticodeSignature sonuçları, yalnızca Geçerli durumuna sahip imza nesnelerini seçen bir komuta gönderilir Where-Object .

Örnek 4: Bayt dizisi olarak belirtilen bir dosya içeriği için Authenticode imzasını alma

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

Bu komut, dosyanın içeriği için Authenticode imzası hakkında bilgi alır. Bu örnekte, dosya uzantısı dosyanın içeriğiyle birlikte belirtilir.

Parametreler

-Content

Authenticode imzasının alındığı bayt dizisi olarak bir dosyanın içeriği. Bu parametre SourcePathOrExtension parametresiyle kullanılmalıdır. PowerShell 7.4'ün öncesinde, dosyanın içeriği Unicode (UTF-16LE) biçiminde olmalıdır.

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

-FilePath

İncelenmesi gereken dosyanın yolunu belirtir. Joker karakterlere izin verilir, ancak tek bir dosyaya yol açmaları gerekir. Bu parametre için bir değer belirtirken komut satırına FilePath yazmak gerekmez.

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

-LiteralPath

İncelenen dosyanın yolunu belirtir. FilePath'in aksine, LiteralPath parametresinin değeri tam olarak yazıldığı gibi kullanılır. Hiçbir karakter joker karakter olarak yorumlanmamıştır. Yol bir kaçış karakteri içeriyorsa, tek tırnak içine alın. Tek tırnak işaretleri PowerShell'e hiçbir karakteri kaçış karakteri olarak yorumlamaması gerektiğini söyler.

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

-SourcePathOrExtension

Authenticode imzasının alındığı içeriğin dosya veya dosya türünün yolu. Bu parametre, dosya içeriğinin bayt dizisi olarak geçirildiği İçerik ile birlikte kullanılır.

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

Girişler

String

Dosya yolu içeren bir dizeyi bu cmdlet'e aktarabilirsiniz.

Çıkışlar

Signature

Bu cmdlet, aldığı her imza için bir imza nesnesi döndürür.

Notlar

Bu cmdlet yalnızca Windows platformlarında kullanılabilir.

PowerShell'de Authenticode imzaları hakkında bilgi için bkz . about_Signing.