Показать полную графическую версию : Узнать есть ли у файла цифровая подпись
Добрый день!
Требуется узнать версию файла, для этого так понимаю может подойти команда CMD - Filever?
И еще одна задача, требуется узнать есть ли у файла цифровая подпись. Возможно ли это решить каким-то способом?
Заранее благодарен!
http://technet.microsoft.com/ru-ru/sysinternals/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)
Требуется узнать версию файла, для этого так понимаю может подойти команда 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
Я всех встречных-поперечных спрашиваю, оттого спрошу и Вас: Вы не сталкивались с таким, не знаете случайно путей решения этого вопроса?
Спасибо.
Не подскажите пример BAT для запуска этой утилиты (так чтобы положить утилиту рядом с bat-файлов в любое место на жестком диске). Например, требуется проверить все файлы в двух каталогах:
C:\Program Files\MyApplication
C:\MyDistrib
и несколько файлов в указанном каталоге:
C:\Windows\System32\my.exe
C:\Windows\System32\my.dll
И вывести результат в консоль, а если это возможно, то и создать текстовый отчет.
Заранее благодарен!
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
где нет таких проблем. »
Однако :(…
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
.
А как у Вас?
Тот же самый вариант,только чуть больше вывода и использование 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 :
На самом деле PowerShell не очень интересен. Заброс систем большой от 2000 до win7. Возможно ли это сделать в bat?
Kazun, я имел в виду именно проблемы с кириллицей. У Вас найдётся какой-либо файл, где не «Microsoft Corporation», а «Корпорация Майкрософт»? На нём как будет?
Заброс систем большой от 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
Я выше же уже писал,что нет проблем,от 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 :
Kazun, спасибо, ясно. Буду думать.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.