Get-AuthenticodeSignature (Microsoft.PowerShell.Security)
Get-AuthenticodeSignature
- Модуль:
- Microsoft.PowerShell.Security
Получает информацию о подписи 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"Эта команда получает информацию о подписи 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, которая выбирает только объекты подписи со статусом «Действительно».
Пример 4. Получите подпись Authenticode для содержимого файла, указанного в виде массива байтов.
Get-AuthenticodeSignature -Content (Get-Content foo.ps1 -AsByteStream) -SourcePathorExtension ps1Эта команда получает информацию о подписи Authenticode для содержимого файла. В этом примере расширение файла указывается вместе с содержимым файла.
Параметры
-Content
Содержимое файла в виде массива байтов, для которого извлекается подпись Authenticode. Этот параметр необходимо использовать с параметром SourcePathOrExtension. До версии PowerShell 7.4 содержимое файла должно быть в формате Юникод (UTF-16LE).
- Тип :
Байт[]
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
True
- Примите ввод конвейера:
True
- Принимайте подстановочные знаки:
False
-FilePath
Указывает путь к файлу для проверки. Подстановочные знаки разрешены, но они должны вести к одному файлу. Нет необходимости вводить FilePath в командной строке, когда вы указываете значение для этого параметра.
- Тип :
String[]
- Позиция:
0
- Значение по умолчанию:
None
- Необходимый:
True
- Примите ввод конвейера:
True
- Принимайте подстановочные знаки:
True
-LiteralPath
Указывает путь к проверяемому файлу. В отличие от FilePath, значение параметра LiteralPath используется точно так, как оно введено. Никакие символы не интерпретируются как подстановочные знаки. Если путь содержит escape-символ, заключите его в одинарные кавычки. Одинарные кавычки сообщают PowerShell не интерпретировать никакие символы как escape-символы.
- Тип :
String[]
- Псевдонимы:
PSPath
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
True
- Примите ввод конвейера:
True
- Принимайте подстановочные знаки:
False
-SourcePathOrExtension
Путь к файлу или тип файла содержимого, для которого извлекается подпись Authenticode. Этот параметр используется с Content, где содержимое файла передается в виде массива байтов.
- Тип :
String[]
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
True
- Примите ввод конвейера:
True
- Принимайте подстановочные знаки:
False
Входы
Строка
Вы можете передать этому командлету строку, содержащую путь к файлу.
Выходы
Подпись
Этот командлет возвращает объект подписи для каждой полученной подписи.
Примечания
Этот командлет доступен только на платформах Windows.
Дополнительные сведения о подписях Authenticode в PowerShell см. в разделе about_Signing.