Как пакетно или Clima автоматизировать sigcheck.exe на запущенных процессах?

Я пытаюсь создать список запущенных процессов (полный путь к исполняемому файлу), а затем перебрать этот список и выполнить sysInternals "sigcheck.exe" для каждого из файлов.

По какой-то причине это не работает должным образом, и я не уверен, связано ли это с моей обработкой входного файла или форматом вывода, который создает wmic. В идеале, я хотел бы, чтобы сначала это работало как пакетный скрипт, а затем попытался бы преобразовать его в одну строку.

Ниже приведен код, который я сейчас пытаюсь:

setlocal enabledelayedexpansion
@echo off
wmic process get executablepath /format:csv | more > c:\windows\temp\pslist.txt
for /f "skip=5 tokens=1,2 delims=," %%a in (c:\windows\temp\pslist.txt) do (
 echo %%b
 sigcheck.exe -accepteula -r -e "%%b"
)
ENDLOCAL

0 ответов

Он использует "процесс wmic.exe" для создания списка и передает только "путь к исполняемому файлу" в "sigcheck.exe". "Threadcount" - это хитрость - поскольку у WMIC есть печально известный extra-CR, запрос 1 дополнительного и ненужного атрибута создает маркеры на выходе..... запятые. Команда "for" прерывает вывод WMIC через запятую, что позволяет извлекать только "путь к исполняемому файлу" без каких-либо дополнительных CR.

CMD:

for /f "tokens=2 delims=," %A in ('wmic process where "not executablepath=null" get executablepath^,threadcount /format:csv') do @sigcheck.exe -accepteula -r -e "%A"

ВЫХОД (частично для краткости):

Sigcheck v2.72 - File version and signature viewer
Copyright (C) 2004-2019 Mark Russinovich
Sysinternals - www.sysinternals.com

c:\program files (x86)\google\chrome\application\chrome.exe:
        Verified:       Signed
        Signing date:   7:47 PM 2/28/2019
        Publisher:      Google LLC
        Company:        Google Inc.
        Description:    Google Chrome
        Product:        Google Chrome
        Prod version:   72.0.3626.121
        File version:   72.0.3626.121
        MachineType:    64-bit

Sigcheck v2.72 - File version and signature viewer
Copyright (C) 2004-2019 Mark Russinovich
Sysinternals - www.sysinternals.com

c:\windows\system32\windowspowershell\v1.0\powershell.exe:
        Verified:       Signed
        Signing date:   5:26 PM 4/11/2018
        Publisher:      Microsoft Windows
        Company:        Microsoft Corporation
        Description:    Windows PowerShell
        Product:        Microsoft« Windows« Operating System
        Prod version:   10.0.17134.1
        File version:   10.0.17134.1 (WinBuild.160101.0800)
        MachineType:    64-bit

Sigcheck v2.72 - File version and signature viewer
Copyright (C) 2004-2019 Mark Russinovich
Sysinternals - www.sysinternals.com
Другие вопросы по тегам