Gelegentlich kommt es vor, dass man beim Troubleshooting eines Problem verwendete Hook DLLs ermitteln muss, dies kann man z.B. mittels Sysinternals Process Explorer machen. Es ist jedoch auch mittels PowerShell möglich, hierzu zwei kleine Beispiele:
# Hook DLLs eines bestimmten Prozesses auflisten (am Beispiel vom Explorer)
Get-Process explorer | Select -ExpandProperty modules | Select FileName,Product,Company
# Hook DLL eines bestimmten Herstellers in beliebigen Prozessen finden (am Beispiel von Citrix)
$process = Get-Process -IncludeUserName
foreach ($item in $process)
{
Write-host "Process: [$($Item.name)] Description: [$($Item.Description)] User: [$($item.UserName)]" -ForegroundColor Yellow
$item | Select -ExpandProperty modules -ea SilentlyContinue | Where-Object FileName -Like "*Citrix*"
}