Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Узнать есть ли у файла цифровая подпись

Ответить
Настройки темы
Любой язык - Узнать есть ли у файла цифровая подпись

Новый участник


Сообщения: 45
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добрый день!
Требуется узнать версию файла, для этого так понимаю может подойти команда CMD - Filever?
И еще одна задача, требуется узнать есть ли у файла цифровая подпись. Возможно ли это решить каким-то способом?
Заранее благодарен!

Отправлено: 01:23, 13-10-2011

 

Ветеран


Сообщения: 1259
Благодарности: 861

Профиль | Отправить PM | Цитировать


http://technet.microsoft.com/ru-ru/s...rnals/bb897441

Код: Выделить весь код
PS  >  sigcheck C:\Windows\notepad.exe

Sigcheck v1.71 - File version and signature viewer
Copyright (C) 2004-2010 Mark Russinovich
Sysinternals - www.sysinternals.com

c:\windows\notepad.exe:
        Verified:       Signed
        Signing date:   7:17 14.07.2009
        Publisher:      Microsoft Corporation
        Description:    Notepad
        Product:        Microsoftо Windowsо Operating System
        Version:        6.1.7600.16385
        File version:   6.1.7600.16385 (win7_rtm.090713-1255)
Это сообщение посчитали полезным следующие участники:

Отправлено: 01:54, 13-10-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата Pavelnt:
Требуется узнать версию файла, для этого так понимаю может подойти команда CMD - Filever? »
Да.

Kazun, жаль, что у неё, как и у многих консольных утилит от Sysinternals, проблемы с русским языком:
читать дальше »
Цитата:
Код: Выделить весь код
D:\Install\Microsoft Data Access Components\Microsoft Data Access Components 2.8 SP1\MDAC_TYP.EXE:
        Verified:       Signed
        Signing date:   04:59 26.04.2005
        Publisher:      ?????????? ?????????? (Microsoft Corp.)
        Description:    ?????????????? CAB-?????? Win32
        Product:        ???????????? ??????? Microsoft® Windows® 2000
        Version:        5.50.4134.600
        File version:   5.50.4134.600
Я всех встречных-поперечных спрашиваю, оттого спрошу и Вас: Вы не сталкивались с таким, не знаете случайно путей решения этого вопроса?

Отправлено: 03:47, 13-10-2011 | #3


Новый участник


Сообщения: 45
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо.
Не подскажите пример BAT для запуска этой утилиты (так чтобы положить утилиту рядом с bat-файлов в любое место на жестком диске). Например, требуется проверить все файлы в двух каталогах:
C:\Program Files\MyApplication
C:\MyDistrib
и несколько файлов в указанном каталоге:
C:\Windows\System32\my.exe
C:\Windows\System32\my.dll
И вывести результат в консоль, а если это возможно, то и создать текстовый отчет.
Заранее благодарен!

Отправлено: 10:45, 13-10-2011 | #4


Ветеран


Сообщения: 1259
Благодарности: 861

Профиль | Отправить PM | Цитировать


To Iska, я не пользуюсь cmd,мои потребности полностью покрывает PowerShell,где нет таких проблем. И сделать функцию,обертку для sigcheck нет проблем.

Для примера ,приведу простую функцию:

Код: Выделить весь код
Function Get-IsVerified
{
	process {
			$value = (sigcheck -q $_.fullname) -match "Verified|Signing date" -replace ":\s+","=" | ConvertFrom-StringData
			$_ = $_.VersionInfo
			foreach ($i in $value)
			{
				$_ | Add-Member -Name $i.keys -Value ("$($i.values)") -MemberType NoteProperty 
			}
			$_
		}
}
dir C:\Windows\ *.exe | Get-IsVerified | fl *
dir C:\Windows\ *.exe | Get-IsVerified | fl FileName,Verified,"Signing date",ProductVersion

Отправлено: 14:05, 13-10-2011 | #5


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата Kazun:
где нет таких проблем. »
Однако
читать дальше »
PowerShell ISE:
Цитата:
Код: Выделить весь код
d:\install\microsoft data access components\microsoft data access components 2.8 sp1\MDAC_TYP.EXE:
	Verified:	Signed
	Signing date:	04:59 26.04.2005
	Publisher:	?????????? ?????????? (Microsoft Corp.)
	Description:	?????????????? CAB-?????? Win32                                           
	Product:	???????????? ??????? Microsoftо Windowsо 2000
	Version:	5.50.4134.600
	File version:	5.50.4134.600
Собственно, PowerShell:
Цитата:
Код: Выделить весь код
Sigcheck v1.71 - File version and signature viewer
Copyright (C) 2004-2010 Mark Russinovich
Sysinternals - www.sysinternals.com

d:\install\microsoft data access components\microsoft data access components 2.8 sp1\MDAC_TYP.EXE:
        Verified:       Signed
        Signing date:   04:59 26.04.2005
        Publisher:      ?????????? ?????????? (Microsoft Corp.)
        Description:    ?????????????? CAB-?????? Win32
        Product:        ???????????? ??????? Microsoftо Windowsо 2000
        Version:        5.50.4134.600
        File version:   5.50.4134.600
C:\Program Files\Sigcheck
.
А как у Вас?

Отправлено: 18:05, 13-10-2011 | #6


Ветеран


Сообщения: 1259
Благодарности: 861

Профиль | Отправить PM | Цитировать


Тот же самый вариант,только чуть больше вывода и использование PowerShell c sigcheck.

Код: Выделить весь код
dir C:\Windows\notepad.exe | Get-IsVerified | fl *

Verified           : Signed
Signing date       : 7:17 14.07.2009
Comments           :
CompanyName        : Microsoft Corporation
FileBuildPart      : 7600
FileDescription    : Notepad
FileMajorPart      : 6
FileMinorPart      : 1
FileName           : C:\Windows\notepad.exe
FilePrivatePart    : 16385
FileVersion        : 6.1.7600.16385 (win7_rtm.090713-1255)
InternalName       : Notepad
IsDebug            : False
IsPatched          : False
IsPrivateBuild     : False
IsPreRelease       : False
IsSpecialBuild     : False
Language           : English (United States)
LegalCopyright     : c Microsoft Corporation. All rights reserved.
LegalTrademarks    :
OriginalFilename   : NOTEPAD.EXE.MUI
PrivateBuild       :
ProductBuildPart   : 7600
ProductMajorPart   : 6
ProductMinorPart   : 1
ProductName        : MicrosoftR WindowsR Operating System
ProductPrivatePart : 16385
ProductVersion     : 6.1.7600.16385
SpecialBuild       :

Отправлено: 18:54, 13-10-2011 | #7


Новый участник


Сообщения: 45
Благодарности: 0

Профиль | Отправить PM | Цитировать


На самом деле PowerShell не очень интересен. Заброс систем большой от 2000 до win7. Возможно ли это сделать в bat?

Отправлено: 19:21, 13-10-2011 | #8


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Kazun, я имел в виду именно проблемы с кириллицей. У Вас найдётся какой-либо файл, где не «Microsoft Corporation», а «Корпорация Майкрософт»? На нём как будет?

Цитата Pavelnt:
Заброс систем большой от 2000 до win7. Возможно ли это сделать в bat? »
С 2000, конечно, PoSH отпадает, к сожалению. Например, так:
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

set sFile=%~1

if not defined sFile (
	call :Usage
	exit /b 1
)

if not exist "%sFile%" (
	echo File [%sFile%] not found
	exit /b 2
)

for /f "skip=1 tokens=2 delims=," %%i in (
    '""%ProgramFiles%\Sigcheck\sigcheck.exe" -q -v "%sFile%""'
) do set sSigned=%%i

if defined sSigned (
	echo %sSigned%
) else (
	echo Can't determine sign status
)

endlocal
exit /b 0

:Usage
	echo Usage: %~nx0 ^<file to verify^>
	exit /b 0

Отправлено: 19:46, 13-10-2011 | #9


Ветеран


Сообщения: 1259
Благодарности: 861

Профиль | Отправить PM | Цитировать


Я выше же уже писал,что нет проблем,от sigcheck надо только подписан он или нет.

Код: Выделить весь код
Verified           : Signed
Signing date       : 9:48 21.11.2010
Comments           : Flavor=Retail
CompanyName        : Microsoft Corporation
FileBuildPart      : 31106
FileDescription    : Исполняющий механизм среды выполнения Microsoft .NET
FileMajorPart      : 4
FileMinorPart      : 0
FileName           : C:\Windows\System32\MUI\0419\mscorees.dll
FilePrivatePart    : 0
FileVersion        : 4.0.31106.0 (Main.031106-0000)
InternalName       : mscorees.dll
IsDebug            : False
IsPatched          : False
IsPrivateBuild     : True
IsPreRelease       : False
IsSpecialBuild     : False
Language           : Russian (Russia)
LegalCopyright     : c Корпорация Майкрософт (Microsoft Corp.). Все права защищены.
LegalTrademarks    :
OriginalFilename   : mscorees.dll
PrivateBuild       : DDBLD278
ProductBuildPart   : 31106
ProductMajorPart   : 4
ProductMinorPart   : 0
ProductName        : MicrosoftR .NET Framework
ProductPrivatePart : 0
ProductVersion     : 4.0.31106.0
SpecialBuild       :

Отправлено: 19:58, 13-10-2011 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Узнать есть ли у файла цифровая подпись

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Драйвер - Цифровая подпись драйверов (не удалось проверить производителя...) IvanVL Microsoft Windows Vista 8 10-07-2021 19:08
2007 - MS Office 2007 Цифровая подпись kafdok Microsoft Office (Word, Excel, Outlook и т.д.) 1 29-11-2011 09:11
w32tm цифровая подпись не проходит clin Microsoft Windows NT/2000/2003 0 13-03-2010 10:25
[решено] Цифровая подпись Exchange + The Bat Delirium Microsoft Exchange Server 3 15-07-2008 01:16
Цифровая подпись E-mail (не отправляется) braginsky Хочу все знать 1 02-03-2008 02:39




 
Переход