Powershell как получить список запущенных процессов и запустить их через алгоритм MD5

Powershell как получить список запущенных процессов и запустить их через алгоритм MD5

Привет, мне нужно получить список всех процессов, запущенных на моем Windows 10, и пропустить их через алгоритм MD5. Есть ли способ сделать это автоматически в PowerShell?

Любая помощь будет очень ценна.

решение1

Это не так просто, как должно быть. PowerShell может хешировать MD5файлизначально (используя Get-FileHash), но не как строку.

К счастью, MS предлагает решениездесь.

#http://jongurgul.com/blog/get-stringhash-get-filehash/ 
Function Get-StringHash([String] $String,$HashName = "MD5") 
{ 
$StringBuilder = New-Object System.Text.StringBuilder 
[System.Security.Cryptography.HashAlgorithm]::Create($HashName).ComputeHash([System.Text.Encoding]::UTF8.GetBytes($String))|%{ 
[Void]$StringBuilder.Append($_.ToString("x2")) 
} 
$StringBuilder.ToString() 
}

Скопируйте эту функцию и вставьте ее в командную строку PowerShell. Вызванная функция Get-StringHashбудет сохранена для этого сеанса PowerShell.

Проверьте MD5-хеширование слова «test», введя:

Get-StringHash "тест" "MD5"

И вы должны получить MD5-хеш ниже:

098f6bcd4621d373cade4e832627b4f6

После этого вы сможете использовать эту функцию, а также Get-Processполучить имена процессов и MD5 имен, как показано ниже:

get-process | ForEach-Object {write-host $_.Name ; Get-Stringhash "$_.Name" "MD5"}

решение2

Это утилита от Microsoft под названием Sysmon, которая обычно предназначена для сбора низкоуровневой системной информации с целью отслеживания вредоносных программ. Она устанавливается как служба и может быть настроена для записи хэша файла каждого запущенного процесса в журнал событий. Вы можете настроить типы хэшей (md5, sha1, sha2 и т. д.) для записи через файл конфигурации. Если это поможет вам достичь цели, вы можете прочитать об этом подробнеездесь.

Журнал событий

Связанный контент