Привет мне нужно, чтобы иметь возможность получить список всех процессов, запущенных на моем Windows 10 и запустить их через алгоритм MD5. Есть ли способ сделать это автоматически в powershell?
Любая помощь очень ценится
Привет мне нужно, чтобы иметь возможность получить список всех процессов, запущенных на моем Windows 10 и запустить их через алгоритм MD5. Есть ли способ сделать это автоматически в powershell?
Любая помощь очень ценится
Это не так просто, как должно быть. 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 "test" "MD5"
И вы должны получить хеш MD5 ниже:
098f6bcd4621d373cade4e832627b4f6
Как только это будет сделано, вы можете использовать эту функцию вместе с Get-Process
для получения имен процессов и имен MD5, как показано ниже:
get-process | ForEach-Object {write-host $_.Name ; Get-Stringhash "$_.Name" "MD5"}
Это утилита от Microsoft под названием Sysmon, которая обычно предназначена для сбора системной информации низкого уровня с целью отслеживания вредоносного ПО. Он устанавливается как служба и может быть настроен на запись хэша файла каждого процесса, который запускается в журнале событий. Вы можете настроить, какие типы хэшей (md5, sha1, sha2 и т.д.) Записывать через файл конфигурации. Если это поможет достичь вашей цели, вы можете прочитать об этом здесь.