Powershell 如何获取正在运行的进程列表并通过 MD5 算法运行它们

Powershell 如何获取正在运行的进程列表并通过 MD5 算法运行它们

您好,我需要获取 Windows 10 上运行的每个进程的列表,并通过 MD5 算法运行它们。有没有办法在 powershell 中自动执行此操作?

很感谢任何形式的帮助

答案1

这并不像想象的那么简单。PowerShell 可以对文件本机(使用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 会话中。

输入以下命令对单词“test”进行 MD5 哈希测试:

获取 StringHash“测试”“MD5”

您将获得以下 MD5 哈希值:

098f6bcd4621d373cade4e832627b4f6

完成后,您可以使用该函数以及Get-Process获取进程名称和名称的 MD5,如下所示:

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

答案2

这是微软的一款名为 Sysmon 的实用程序,通常用于收集低级系统信息以用于恶意软件跟踪。它作为一项服务安装,可以配置为记录事件日志中启动的每个进程的文件哈希值。您可以通过配置文件配置要记录的哈希值类型(md5、sha1、sha2 等)。如果这有助于实现您的目标,您可以阅读更多相关信息这里

事件日志

相关内容