Get-AuthenticodeSignature
Возвращает сведения о подписи Authenticode для файла.
Синтаксис
ByPath (по умолчанию)
Get-AuthenticodeSignature
[-FilePath] <String[]>
[<CommonParameters>]
ByLiteralPath
Get-AuthenticodeSignature
-LiteralPath <String[]>
[<CommonParameters>]
ByContent
Get-AuthenticodeSignature
-SourcePathOrExtension <String[]>
-Content <Byte[]>
[<CommonParameters>]
Описание
Этот командлет доступен только на платформе Windows.
Командлет Get-AuthenticodeSignature
получает сведения о подписи Authenticode для файла или содержимого файла в виде массива байтов. Если файл является внедренным и подписанным каталогом Windows, используется подпись каталога Windows. Если файл не подписан, извлекается информация, но поля пусты.
Примеры
Пример 1. Получение подписи Authenticode для файла
Get-AuthenticodeSignature -FilePath "C:\Test\NewScript.ps1"
Эта команда получает сведения о сигнатуре Authenticode в файле NewScript.ps1. В нем используется параметр FilePath
Пример 2. Получение подписи Authenticode для нескольких файлов
Get-AuthenticodeSignature test.ps1, test1.ps1, sign-file.ps1, makexml.ps1
Эта команда получает сведения о подписи Authenticode для четырех файлов, перечисленных в командной строке. В этом примере имя параметра FilePath, который является необязательным, опущен.
Пример 3. Получение только допустимых подписей Authenticode для нескольких файлов
Get-ChildItem $PSHOME\*.* | ForEach-Object {Get-AuthenticodeSignature $_} |
Where-Object {$_.Status -eq "Valid"}
Эта команда содержит список всех файлов в каталоге $PSHOME
с допустимой подписью Authenticode.
$PSHOME
автоматическая переменная содержит путь к каталогу установки PowerShell.
Команда использует командлет Get-ChildItem
для получения файлов в каталоге $PSHOME
. В нем используется шаблон . исключить каталоги (хотя он также исключает файлы без точки в имени файла).
Команда использует оператор конвейера (|
) для отправки файлов в $PSHOME
командлету ForEach-Object
, где Get-AuthenticodeSignature
вызывается для каждого файла.
Результаты команды Get-AuthenticodeSignature
отправляются в команду Where-Object
, которая выбирает только объекты подписи с состоянием Valid.
Пример 4. Получение подписи Authenticode для содержимого файла, указанного в виде массива байтов
$authenticodeSignatureParams = @{
Content = (Get-Content foo.ps1 -AsByteStream)
SourcePathorExtension = "ps1"
}
Get-AuthenticodeSignature @authenticodeSignatureParams
Эта команда получает сведения о сигнатуре Authenticode для содержимого файла. В этом примере расширение файла указывается вместе с содержимым файла.
Параметры
-Content
Содержимое файла в виде массива байтов, для которого извлекается подпись Authenticode. Этот параметр должен использоваться с параметром SourcePathOrExtension. До PowerShell 7.4 содержимое файла должно быть в формате Юникода (UTF-16LE).
Свойства параметра
Тип: | Byte[] |
Default value: | None |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
ByContent
Position: | Named |
Обязательно: | True |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | True |
Значение из оставшихся аргументов: | False |
-FilePath
Указывает путь к файлу для проверки. Подстановочные знаки разрешены, но они должны привести к одному файлу. Не обязательно вводить FilePath в командной строке при указании значения этого параметра.
Свойства параметра
Тип: | String[] |
Default value: | None |
Поддерживаются подстановочные знаки: | True |
DontShow: | False |
Наборы параметров
ByPath
Position: | 0 |
Обязательно: | True |
Значение из конвейера: | True |
Значение из конвейера по имени свойства: | True |
Значение из оставшихся аргументов: | False |
-LiteralPath
Указывает путь к проверяемой файлу. В отличие от FilePath, значение параметра LiteralPath используется точно так, как введено. Никакие символы не интерпретируются как подстановочные знаки. Если путь содержит escape-символ, заключите его в одинарные кавычки. Одинарные кавычки говорят PowerShell не интерпретировать какие-либо символы как escape-символы.
Свойства параметра
Тип: | String[] |
Default value: | None |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Aliases: | PSPath, LP |
Наборы параметров
ByLiteralPath
Position: | Named |
Обязательно: | True |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | True |
Значение из оставшихся аргументов: | False |
-SourcePathOrExtension
Путь к файлу или типу файла содержимого, для которого извлекается подпись Authenticode. Этот параметр используется с Content, где содержимое файла передается в виде массива байтов.
Свойства параметра
Тип: | String[] |
Default value: | None |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
ByContent
Position: | Named |
Обязательно: | True |
Значение из конвейера: | True |
Значение из конвейера по имени свойства: | True |
Значение из оставшихся аргументов: | False |
CommonParameters
Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.
Входные данные
String
Можно передать строку, содержащую путь к файлу для этого командлета.
Выходные данные
Signature
Этот командлет возвращает объект подписи для каждой получаемой подписи.
Примечания
Этот командлет доступен только на платформах Windows.
Сведения о подписях Authenticode в PowerShell см. в about_Signing.