Powershell如何取得正在運行的進程列表並透過MD5演算法運行它們

Powershell如何取得正在運行的進程列表並透過MD5演算法運行它們

您好,我需要能夠獲取 Windows 10 上運行的每個進程的列表,並透過 MD5 演算法運行它們。有沒有辦法在 powershell 中自動執行此操作?

很感謝任何形式的幫助

答案1

這並不像應該的那麼容易。 PowerShell 可以 MD5 雜湊 a文件本機(使用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」進行哈希處理:

取得StringHash“測試”“MD5”

您應該得到下面的 MD5 雜湊值:

098f6bcd4621d373cade4e832627b4f6

完成後,您可以使用函數以及Get-Process取得進程名稱和名稱的 MD5,如下所示:

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

答案2

該實用程式來自 Microsoft,名為 Sysmon,通常用於收集低階系統資訊以進行惡意軟體追蹤。它作為服務安裝,可以配置為記錄事件日誌中啟動的每個進程的檔案雜湊。您可以透過設定檔配置要記錄的雜湊類型(md5、sha1、sha2 等)。如果這有助於實現您的目標,您可以閱讀更多相關內容這裡

事件日誌

相關內容