web-dev-qa-db-ja.com

実行中のプロセスのリストを取得し、MD5アルゴリズムを介してそれらを実行する方法をPowershell

こんにちは私は私のウィンドウズ10で実行されているすべてのプロセスのリストを取得し、MD5アルゴリズムを介してそれらを実行できる必要があります。 PowerShellでこれを自動的に行う方法はありますか?

どんな助けでも大歓迎です

1
rogermoore

これは、あるべきほど簡単ではありません。 PowerShellはファイルをネイティブに(Get-FileHashを使用して)MD5ハッシュできますが、文字列はハッシュできません。

幸いなことに、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 "test" "MD5"

そして、以下のMD5ハッシュを取得する必要があります。

098f6bcd4621d373cade4e832627b4f6

それが完了したら、Get-Processとともにその関数を使用して、以下に示すように、プロセス名と名前のMD5​​を取得できます。

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

これはMicrosoftのSysmonという名前のユーティリティで、通常、マルウェアの追跡を目的として低レベルのシステム情報を収集することを目的としています。これはサービスとしてインストールされ、イベントログに起動された各プロセスのファイルハッシュを記録するように構成できます。構成ファイルを使用して、記録するハッシュタイプ(md5、sha1、sha2など)を構成できます。これがあなたの目標を達成するのに役立つなら、あなたはそれについてもっと読むことができます ここ

eventlog

0
Clayton