
こんにちは。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 セッションに保存されます。
次のように入力して、「test」という単語の MD5 ハッシュをテストします。
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 など) を構成できます。これが目的の達成に役立つ場合は、詳細を読むことができます。ここ。